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.0.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.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

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

Hashes for superneuromat-2.0.0.tar.gz
Algorithm Hash digest
SHA256 9feb8e1c72f9c0a1e0f57a11bfc4690ff4b2ebe5be3975eb3e722141ed5cce5d
MD5 54d5f134d3013f1f1f7bcb194fd2b4c8
BLAKE2b-256 7a3b1e0c9e12319c47f4060623c8d25a6d31c06ab38a5c58b192f45c9effc438

See more details on using hashes here.

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

Hashes for superneuromat-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 29cf2f916ee921bd7b6d282d755ec7004b6276bbd7e230f21cf2c1d7505532d2
MD5 22d3bf5b85b48bbfe25448b7832eea4c
BLAKE2b-256 0cc654a09ea6b075bcffd4fa357c52088e12f14c9230dba8c73aba7883be58d0

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