NxSDK 0.9.5 is now available
We are pleased to announce the release of NxSDK 0.9.5. The installation files are located at /nfs/ncl/releases. Installation steps stay the same as of 0.9.0. Please refer to getting started guides within Startup Materials [also available in nxsdk-apps-0.9.5.tar.gz/docs]
The release is available for all participants who have signed the INRC participation agreement and have access to the INRC Cloud.
0.9.5 Release Highlights | ||
---|---|---|
Power & Energy Characterization Module | Runtime Optimizations | API Enhancements & KB related bug fixes |
New Features/Improvements
General
Introduced a flag in /etc/nx/board.conf to hint whether a board supports power measurement or not ("supportsPowerMeasurement":"false" or "true"). If this flag does not exist, the default behaviour is true.
Few modules such as EPL, DNN and Loihi backend for SNNToolbox have been moved out to external github Intel NRC Ecosystem .
Optimized barrier sync algorithm which will lead to reduction in time per time step and lower energy consumption in some cases.
New tutorials and API for power/energy characterization have been incorporated (INRC Publication will be out soon)
NxNet
Jupyter Tutorials | Feature Covered | Description | Category |
---|---|---|---|
u_join_op_in_multi-compartment_neuron.ipynb | Compartment settings | This tutorial demonstrates the different joint operations in a multi-compartment neuron. | Multi-compartment neuron |
NxSDK Modules
Characterization module accompanies an INRC publication on power measurement "Power and Energy Performance Benchmarking on Loihi".
Documentation for the SNN-Toolbox backend for Loihi (See NxSDK Modules -> DNN).
Several bug fixes of the SNN-Toolbox backend and NxTF.
Overhauled ANN to SNN conversion now supporting different activation behaviors (reset-to-zero, reset-by-subtraction, saturation). Especially reset-by-subtraction allows for higher accuracy.
Complete integration of InputGenerator with NxModel for faster input injection.
New end to end tutorial for CIFAR-10 from network setup and training to conversion with the SNN-Toolbox and fast inference with the InputGenerator.
Jupyter Tutorials | Feature Covered | Description | Category |
---|---|---|---|
a_image_classification_mnist.ipynb | DNN | Demonstrate running DNN and Composability on Loihi on MNIST data | DNN |
b_image_classification_cifar.ipynb | DNN | Demonstrate running DNN, Composability and SNN Toolbox on Loihi on CIFAR10 data | DNN |
timeAndEnergyBarrierSync.ipynb | Characterization | Demonstrate NxSDK performance benchmarking tools to a test of barrier synchronization | Power, Energy Benchmarking |
timeAndEnergyPerOp.ipynb | Characterization | Demonstrate a configurable characterization workload | Power, Energy Benchmarking |
NxCore
Channels in python now support probeChannel. So users can now probe the channel to avoid a blocking read (in case of recv channel) or blocking write (in case of send channel).
Board object exposes a new attribute accessible via
board.energyTimeMonitor.powerProfileStats
. This is populated once board.disconnect is invoked and stores (as dictionary) resource and power utilization of the execution.Execution Time and Energy Probes now use more precise timestamps. So using them will increase the memory utilization on lmt 0 chip 0 and leave less memory for SNIP scheduled on that specific cpu since this release. Other lakemont CPUs are unaffected. If you get linking error while compiling snips, please adjust the bin size and buffer size to accumulate lesser data.
API Changes/Deprecations
tracecfggen module has moved to nxsdk/arch/n2a/compiler/tracecfggen
Known Issues
Messages sent from chips other than chip 0 to superhost on the last timestep of the run might not be delivered. The workaround to fix it is to run for 1 extra timestep which ensures all messages are flushed correctly before the next timestep starts.
Major bug fixes for release
A deadlock issue related to channel communication due to race condition was fixed. It was primarily observed on KapohoBay.