SuperNeuroMAT is a Python package for simulating and analyzing spiking neural networks.
Documentation available: https://ORNL.github.io/superneuromat/
Unlike its sister package, SuperNeuroABM, SuperNeuroMAT uses a matrix-based representation of the network, which allows for more efficient simulation and GPU acceleration.
SuperNeuroMAT focuses on super-fast computation of Leaky Integrate and Fire (LIF) spiking neuron models with STDP.
It provides:
- Support for leaky integrate and fire neuron model with the following parameters:
- neuron threshold
- neuron leak
- neuron refractory period
- Support for Spiking-Time-Dependent Plasticity (STDP) on synapses with:
- weight
- delay
- per-synapse disabling of learning
- Support for all-to-all connections as well as self connections
- A turing-complete model of neuromorphic computing
- Optional GPU acceleration or Optional Sparse computation
- Note that long delays may impact performance. Consider using an agent-based simulator such as SuperNeuroABM for longer delays.
- Install using
pip install superneuromat - Update/upgrade using
pip install superneuromat --upgrade
The installation guide covers virtual environments, faster installation with uv, installing support for CUDA GPU acceleration, and more.
Import the spiking neural network class:
from superneuromat import SNNSee the tutorial for more.
Additionally, the migration guide may be of use to those coming from older versions of SuperNeuroMAT.
- Please cite SuperNeuroMAT using:
@inproceedings{date2023superneuro, title={SuperNeuro: A fast and scalable simulator for neuromorphic computing}, author={Date, Prasanna and Gunaratne, Chathika and R. Kulkarni, Shruti and Patton, Robert and Coletti, Mark and Potok, Thomas}, booktitle={Proceedings of the 2023 International Conference on Neuromorphic Systems}, pages={1--4}, year={2023} } - References for SuperNeuroMAT: