NeuReality Software Development Kit V1.1 Release Notes
Release Date
November 14, 2024
Target Audience
This is a NeuReality SDK v1.1 release for selected early adopters. The use of the SDK is subject to the Early Access Program Agreement (or similar written instrument) executed by and between your organization and NeuReality (“License Agreement”) and is provided solely for the purpose of Proof of Concept (PoC) programs.
What’s new in this release?
Deployment API (package neureality) for building the AI pipeline, validating them on x86 functional simulator equipped with Qualcomm Cloud AI100 accelerators1, and profiling them on NR1-S AI inference appliance.
New Technologies: LLM
Models compiled with Qualcomm Cloud AI100 SDK and validated in this release:
LLaMa 3 7B
Management API for model/pipeline provisioning and monitoring server health.
Logging and metrics configuration
Configuration end point:
Field |
Description |
|---|---|
Log aggregation mode |
Enables Fluentbit daemon to send logs to an external logging aggregator such as Fluent, Logstash, Logz.io or Datadog. |
Log aggregation remote FQDN |
IP / hostname of log aggregator remote server |
Log aggregation remote port |
|
K8S Connect |
Connect/disconnect to/from K8S cluster. |
Monitoring collector |
Configure node exporter to be enabled natively. |
New Metrics - see a table below for a list of metrics:
Metric |
Name |
Type |
Description |
|---|---|---|---|
Dynamic Memory CAP |
Gauge |
This metric shows the amount of used dynamic memory |
|
Input Queue time |
Counter |
Queue time of inference request. |
|
Network Rx Time |
Counter |
Time network stack spends while fetching the request’s data. Counted from the first AIoF data read to the last AIoF data RX. |
|
Total Processing Time |
Counter |
Cumulative time the job spends in all Compute Engines (CEs). |
|
CE Processing Time |
Counter |
The time from receiving the job to the CE and until releasing the job from that CE is measured. Reported per CE inside the CG |
|
Input Queue Time |
Summary |
Queue time before network RX. |
|
Request Time |
Summary |
Bucket definitions: Buckets: less than 5usec, 5-20usec, 20-100usec, 100usec-1msec, 1-5msec, 5-20msec, 20-100msec, 100-500msec, 500msec-1sec, 1-1.5sec, 1.5-2sec, 2-2.5sec, 2.5-5sec, 5-7.5sec, 7.5-10sec, more than 10sec. |
|
Network Rx Time |
Summary |
Same as above. |
|
Processing Time |
Summary |
Same as above. |
|
Batch size |
Summary |
Bucket size for various batch buckets are reported. 32 buckets are uniformly divided according to maximum batch size. For example, for batch size = 256, then bucket-0 is for batch size 0-7 etc. |
|
Number of AIOF RX Pkts |
Counter |
Total number of packets received by AIoF software stack. |
|
Number of AIOF TX Pkts |
Counter |
Total number of packets sent by AIoF software stack. |
|
Drop Count |
Counter |
Total number of dropped RX packets. |
Serving API (package neureality.client) for producing inference requests from client-side application to NR1 AI inference server.
LLM interface - see more details in NeuReality SDK User Guide.
LLM sample - text summarization.
Kubernetes cluster as an orchestration solution.
Auto-scaling support for CG operator
Resource scheduling aware of specific NR1 resources:
Resource |
Description |
|---|---|
Docker Size [GB] |
ARM docker partition size. |
CPU (ARM) Memory Size [GB] |
ARM runtime memory required for CG. |
Compute Memory Size [GB] |
Compute memory required for CG e.g., for NN-model and other static programs. |
Queue Number |
Number of QSS queues required for managing the hardware AI-Hypervisor. |
BMC interfaces support NR1-S AI Inference Appliance management in the data center.
Extended IPMI interface
Power/temperature management/events/alerts
User management
BMC GUI
Documentation - GenAI samples and tutorials
Performance Demo application is supplied to provide reference implementation and empirical benchmark. Selected pipelines are supported. For additional information about the demo application, refer to the NR1-S Performance Demo User Guide.
Delivery Packages and Upgrades
NeuReality Software SDK is delivered as follows:
Software Package |
Delivery |
|---|---|
NR1 AI-CPU Platform |
NeuReality Software Artifactory |
NR1-M AI Inference Module Platform |
NeuReality Software Artifactory |
NR1-S AI Inference Appliance BMC |
NeuReality Software Artifactory |
Toolchain library (Deployment API) |
NeuReality Docker Registry |
Client library (Serving API) |
NeuReality GitHub |
Kubernetes plugins |
NeuReality GitHub |
Documentation
Please visit NeuReality Developer Portal for more information about NeuReality Software SDK, tutorials, API reference, videos, and events.
Known Limitations
# |
Description |
Workaround |
Temporary Limitation |
|---|---|---|---|
AV-4373 |
Auto-negotiation is frequently used in Ethernet networks to find the most efficient mode of operation for two linked devices. NR1-M module auto negotiation feature is not functional in the present release. |
The settings controlled by auto-negotiation (such as port speed and flow control configurations) should be manually configured to the desired values using the remote management interface (IPMI). |
Yes |
ASAI-2303 |
NR1-M module network port does not support IPv6 |
NA |
Yes |
AV-4123 |
Dual port is not supported in NR1M card. Single port mode is supported. |
NA |
NA |
AV-4183 |
NR1-M module supports an Ethernet port (port0) with speeds of 25Gbps and 50Gbps. |
NA |
NA |
AV-4181 |
Once the NR1-M module network interface is up, it cannot be brought down without an NR1-M module reboot. |
Changing the network MTU which requires bringing down the network interface requires rebooting NR1-M module to finalize the MTU change. |
NA |
ASAI-5172 |
Cannot deploy more than one compute graph on a single NR1-M module. |
NA |
Yes |
ASAI-6677 |
In very rare instances, supplying input tensors in FP32 format into dsp vector unit of Qualcomm Cloud AI100 accelerator may cause misalignment errors, as follows: |
Use tensors aligned to 128B. |
Yes |
AV-3829 |
Large receive offload (LRO) is enabled for connections where the total header length, including the TCP constant header, exceeds 63 bytes. |
NA |
Yes |
ASAI-7553 |
Non-contiguous arrays are not supported in NeuReality programming model and Deployment API. Using non-contiguous arrays will not be flagged as an error by the compiler, leading to run time errors during simulation or device execution. |
User code must avoid creating non-contiguous arrays. Input and output arrays submitted to the Deployment API should be contiguous in memory. For details on generating a contiguous array, please refer to the following: numpy.ascontiguousarray — NumPy v2.0 Manual |
Yes |
ASAI-5172 |
Cannot deploy more than one compute graph on a single NR1-M module. |
NA |
Yes |
ASAI-7896 |
After NR1-S power cycle some of the AI-100 cards can not detected by the NR1-M module |
Run the following sequence after the NR1-S power cycle ends: |
Yes |
ASAI-7637 |
Network interface instability. In rare cases, NR1-M network interface may become nonfunctional, exposing an NR_STATUS_ENET error to the client. |
Error detection necessitates rebooting the NR1-M card. |
Yes |
ASAI-7492 |
The turbo_mode_off compilation option is not supported. |
NA |
Yes |
How to Get Help
Need a Hand? We’ve Got You Covered. Create a ticket with us, and let’s tackle those challenges together. Use one of the following channels to raise the issue: