Skip to main content

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:

  1. Support for leaky integrate and fire neuron model with the following parameters: neuron threshold, neuron leak, and neuron refractory period
  2. Support for Spiking-Time-Dependent Plasticity (STDP) synapses with weights and delays
  3. No restrictions on connectivity of the neurons, all-to-all connections as well as self connections possible
  4. Constant leak supported
  5. STDP learning can be configured to turn on/off positive updates and negative updates
  6. Excessive synaptic delay can slow down the execution of the simulation, so try to avoid as much as possible
  7. 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
  8. STDP implementation is extremely fast
  9. The model of neuromorphic computing supported in SuperNeuroMAT is Turing-complete
  10. All underlying computational operations are matrix-based and currently supported on CPUs

Installation

  1. Install using pip install superneuromat
  2. Update/upgrade using pip install superneuromat --upgrade

Usage

  1. In a Python script or on a Python interpreter, do import superneuromat as snm
  2. The main class can be accessed by snn = snm.SNN()
  3. 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

  1. 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}
    }
    
  2. References for SuperNeuroMAT:

For Development

  1. Clone the superneuromat repo: git clone https://github.com/ORNL/superneuromat.git
  2. Add the path to superneuromat to your $PYTHONPATH: export PYTHONPATH=$PYTHONPATH:/path/to/superneuromat.
  3. You may want to update the $PYTHONPATH in your .bash_profile or .bashrc.

Directory Info

  1. superneuromat: This contains the source code for superneuromat
  2. tests: This contains unittests for development purposes. Please ignore!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

superneuromat-2.0.1.tar.gz (8.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

superneuromat-2.0.1-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file superneuromat-2.0.1.tar.gz.

File metadata

  • Download URL: superneuromat-2.0.1.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

Hashes for superneuromat-2.0.1.tar.gz
Algorithm Hash digest
SHA256 d6ef96c14e38cd0604ca2973e80e04eef89495e85f38f49d9ae418cb020684fe
MD5 a2c8bc884f63072fa7394966a0d21faa
BLAKE2b-256 dd69093fac92f855f08c954799e1cce20259fc07b4026040b2918b423b762dca

See more details on using hashes here.

File details

Details for the file superneuromat-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: superneuromat-2.0.1-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

Hashes for superneuromat-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0259fa9fde0dd9b5770d252ae86add24ff0d11fbf38846654a054fb7ad0d3f42
MD5 4aee03b45eec5bc8b8e4bb6d7fb50790
BLAKE2b-256 178431859204afe852399cbd1ffa34410e595f01709c4744f82983a121b985d7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page