A fast and scalable matrix-based simulator for spiking neural networks (SNNs).
Project description
SuperNeuroMAT v2.0.0
SuperNeuroMAT is a matrix-based simulator for simulating spiking neural networks, which are used in neuromorphic computing. It is one of the fastest, if not the fastest, simlators for simulating spiking neural networks.
Some salient features of SuperNeuroMAT are:
- Support for leaky integrate and fire neuron model with the following parameters: neuron threshold, neuron leak, and neuron refractory period
- Support for Spiking-Time-Dependent Plasticity (STDP) synapses with weights and delays
- No restrictions on connectivity of the neurons, all-to-all connections as well as self connections possible
- Constant leak supported
- STDP learning can be configured to turn on/off positive updates and negative updates
- Excessive synaptic delay can slow down the execution of the simulation, so try to avoid as much as possible
- Leak refers to the constant amount by which the internal state (membrane potential) of a neuron changes in each time step of the simulation; therefore, zero leak means the neuron fully retains the value in its internal state, and infinite leak means the neuron never retains the value in its internal state
- STDP implementation is extremely fast
- The model of neuromorphic computing supported in SuperNeuroMAT is Turing-complete
- All underlying computational operations are matrix-based and currently supported on CPUs
Installation
- Install using
pip install superneuromat - Update/upgrade using
pip install superneuromat --upgrade
Usage
- In a Python script or on a Python interpreter, do
import superneuromat as snm - The main class can be accessed by
snn = snm.SNN() - Refer to docstrings in the source code or on the readthedocs page for the API
Documentation
Documentation available at: https://superneuromat.readthedocs.io/en/latest/
Citation
- 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:
For Development
- Clone the
superneuromatrepo:git clone https://github.com/ORNL/superneuromat.git - Add the path to
superneuromatto your$PYTHONPATH:export PYTHONPATH=$PYTHONPATH:/path/to/superneuromat. - You may want to update the
$PYTHONPATHin your.bash_profileor.bashrc.
Directory Info
superneuromat: This contains the source code forsuperneuromattests: This contains unittests for development purposes. Please ignore!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file superneuromat-2.0.0.tar.gz.
File metadata
- Download URL: superneuromat-2.0.0.tar.gz
- Upload date:
- Size: 8.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9feb8e1c72f9c0a1e0f57a11bfc4690ff4b2ebe5be3975eb3e722141ed5cce5d
|
|
| MD5 |
54d5f134d3013f1f1f7bcb194fd2b4c8
|
|
| BLAKE2b-256 |
7a3b1e0c9e12319c47f4060623c8d25a6d31c06ab38a5c58b192f45c9effc438
|
File details
Details for the file superneuromat-2.0.0-py3-none-any.whl.
File metadata
- Download URL: superneuromat-2.0.0-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
29cf2f916ee921bd7b6d282d755ec7004b6276bbd7e230f21cf2c1d7505532d2
|
|
| MD5 |
22d3bf5b85b48bbfe25448b7832eea4c
|
|
| BLAKE2b-256 |
0cc654a09ea6b075bcffd4fa357c52088e12f14c9230dba8c73aba7883be58d0
|