Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Version History

Version 1 Current »

We are pleased to announce the release of NxSDK 0.9.0. 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.0.tar.gz/docs]

The release is available for all participants who have signed the INRC participation agreement and have access to the INRC Cloud.

Highlights

Improved DNN Integration via NxTF Interface, Slayer and SNN Toolbox

Run your pre-trained Keras or Slayer models now on Loihi. SNN Toolbox now supports Loihi as a backend configuration. Or, use NxTF layers with Keras interface to compile models directly.

Integrate & Pipeline Models, Processes & Input Generators using Composability

Create pipelines which can compose of models and features developed by others and use the composability framework to compile it down to Loihi. Promotes feature reuse and faster collaboration using a common interface

Compact packaging using Embedded Execution Engine for running networks and models on devices with memory constraints

Improved support for running models on devices such as ODROID or UP Squared where you just want to ship pre-packaged network with snips and get it running using host snips for external interaction

Improved Performance - Compilation, DVS, Spike Injection and more

0.9.0 comes with many performance improvements. Serializing/Deserializing of networks have been improved. Spike Injection now uses a compact encoding making it 10x faster

New Features/Improvements

General

  • NxTF : Users should be able to create (or port from existing) deep neural networks on Loihi. NxTF implements the Keras interface. Users can also use SNN Toolbox to port exist DNNs to Loihi.

  • Composability : Provides an interface to enable modules, applications and frameworks to be stitched together and compiled down to the NxBoard Graph.

  • Slayer : Slayer integration has been added within nxsdk_modules. It allows to run models pre-trained using slayer on Loihi

  • **Embedded Execution Engine ** : A new execution engine to run on embedded platform with minimum memory requirements

  • Concurrent Host Snips are now available for users to run concurrent execution on host while neurocore execution is in progress

  • DVS :

    • Performance improvement - Access to the snip for users to modify the spike injection

  • Basic Spike Generator : Optimized the spike gen (5-10x improvement)

    • Users can specify which LMT it will run on (removing the requirement that they are on the same LMT in same phase)

  • Dependencies for nxsdk_modules have been moved out of nxsdk into its own requirements.txt. Hence, you might need to optionally run pip install -r nxsdk-apps/nxsdk_modules/requirements.txt to fetch dependencies for some of these modules.

NxNet

  • NxSDK compiler now supports user specified custom partitioners and mappers. A custom partitioner and mapper can be individually specified for each network in a network tree.

  • Updated documentation for APIs to use and query resource maps

Jupyter Tutorials

Feature Covered

Description

Category

s_multicx_neuron_self_reward.ipynb

Mutlicompartment neurons, reward channels

This tutorial illustrates learning a synaptic weight to synchronise spiking of soma and dendrite compartments

NxNet

t_vMinExp_and_vM axExp.ipynb

Compartment settings

This tutorial demonstrates the usage of vMaxExp and vMinExp in compartments

NxNet

Python Tutorials

Feature Covered

Description

Category

tutorial_26_conc urrent_host_snip s_with_yarp_int egration

Host Snips

This tutorial demonstrates using yarp ports with concurrent host snips.

Snips

NxSDK Modules

Jupyter Tutorials

Feature Covered

Description

Category

nxsdk_modules/dnn/ tutorials/a_nxtf_ partitioning_mappi ng

DNN mapping

This tutorial demonstrates how to use the NxTF framework to partition a DNN for Loihi.

NxTF

nxsdk_modules/dnn/ tutorials/b_nxtf_ mnist

DNN mapping

This tutorial demonstrates how to use the NxTF framework to run a DNN on Loihi.

NxTF

nxsdk_modules/dnn/ tutorials/c_snntb_mnist

DNN mapping

This tutorial demonstrates how to use the SNN Toolbox to run a DNN on Loihi.

NxTF

nxsdk_modules/dnn/ tutorials/d_mnist_using_composables

Composables

This tutorial demonstrates how to use the composability interface to compose DNN with Input Generator and run the MNIST network on Loihi.

NxTF

nxsdk_modules/slay er/tutorials/nmnist /NMNIST

SLAYER fully connected

This tutorial demonstrates how to run a SLAYER-trained fully connected model on Loihi.

SLAYER

nxsdk_modules/slay er/tutorials/gestur e/gesture

SLAYER convnet

This tutorial demonstrates how to run a SLAYER-trained convolutional model on Loihi.

SLAYER

NxCore

  • Embedded Execution: Use board.generateEEEArtifacts() to package and distribute execution artifact to be run in an embedded environment. This is primarily useful when the only interaction is via host snips (All communication and execution happen between host and neurocores/lmt)

  • Serialization/Deserialization performance has been improved by using binary format. This makes board.dumpNeuroCores(...) and board.dumpNeuroCores(...) faster

Python Tutorials

Feature Covered

Description

Category

tutorial_22_host _snips_with_yar p_integration

Host Snips

This tutorial demonstrates using yarp ports with host snips.

Snips

tutorial_23_host _snips_with_ros _integration

Host Snips

This tutorial demonstrates using ros with host snips.

Snips

tutorial_24_cont rol_loop_using_ rospy

Snips

This tutorial demonstrates using ros with channels from superhost useful for proto-typing with ROS.

Snips

API Changes/Deprecations

  • Custom partitioners that partitioned an entire network tree is no longer supported. Custom partitioners are now specified on a per NxNet object level.

  • In createChannel : elementType would be deprecated in 0.9 in favor of messageSize, which provides more flexibility of specifying size of a message.

Major bug fixes for release

  • Fixed the slowness issue while loading neurocores (board.loadNeuroCores) on KapohoBay

  • Fixed a bug related to logical id spilling over core boundary

  • No labels