Neuromorphic Computing Tools and Libraries
To facilitate learning about neuromorphic computing and the development of new neuromorphic algorithms, we host a series of standard neuromorphic libraries and tools as a container. This container is located at /sw/container/neuromorphic/nmc-tools-and-libs.sif
, and can be accessed through our JupyterHub as a custom container, or directly as a container on the cluster through Apptainer.
Here is a list and short description of the available tools. If you need new or updated tools, please contact us through our support channels.
Tool/Library | Description | Python based? |
---|---|---|
PyNN | PyNN is an API. It works as a frontend to set up and configure neuron networks, while the actual simulation is performed by a simulator in the backend. Bindings for many software simulators are available, such as Neuron, NEST, Brian2. Bindings for SpiNnaker-2 are currently a WIP. PyNN is the best starting point for learning about neuromorphic simulations, due to its simplicity and universality. In principle, networks designed with PyNN can be executed by any of the available simulators. | Yes |
Neuron | Neuron is a simulator for spiking neuron networks. Compatible with PyNN. | No (but can be used from Python through PyNN) |
NEST | NEST is a simulator for spiking neuron networks. Compatible with PyNN. | No (but can be used from Python through PyNN) |
Brian2 | Brian2 is a simulator for spiking neuron networks. Compatible with PyNN. (It is indeed called Brian, and not Brain!) | Yes |
SNNTorch | A package for performing AI/ML tasks with spiking neurons, extending the well known PyTorch library. | Yes |
NIR | An intermediate representation library that allows for transferring models between different neuromorphic software libraries and hardware architectures. | Yes |
Norse | Neuromorphic AI/ML library. | Yes |
Lava-DL | Neuromorphic AI/ML library. Associated with Intel’s Loihi neuromorphic hardware. | Yes |