Skip to main content

Neuromorphic Intermediate Representation

Project description

NIR Logo

NIR - Neuromorphic Intermediate Representation

Nature Communications Paper PyPI - Downloads GitHub Tag Discord

NIR is a set of computational primitives, shared across different neuromorphic frameworks and technology stacks. NIR is currently supported by 7 simulators and 4 hardware platforms, allowing users to seamlessly move between any of these platforms.

NIR is useful when you want to move a model from one platform to another, for instance from a simulator to a hardware platform.

Read more about NIR in our documentation about NIR primitives

See which frameworks are currently supported by NIR.

Usage

Read more in our documentation about NIR usage and see more examples in our examples section

NIR serves as a format between neuromorphic platforms and will be installed alongside your framework of choice. Using NIR is typically a part of your favorite framework's workflow, but follows the same pattern when you want to move from a source to a target platform:

# Define a model
my_model = ...
# Save the model (source platform)
nir.write("my_graph.nir", my_model) 
# Load the model (target platform)
imported_graph = nir.read("my_graph.nir")

See our example section for how to use NIR with your favorite framework.

Frameworks that currently support NIR

Read more in our documentation about NIR support

Framework Write to NIR Read from NIR Examples
Lava-DL Lava/Loihi examples
Nengo Nengo examples
Norse Norse examples
Rockpool (SynSense Xylo chip) Rockpool/Xylo examples
Sinabs (SynSense Speck chip) Sinabs/Speck examples
snnTorch snnTorch examples
SpiNNaker2 SpiNNaker2 examples
Spyx Spyx examples

Acknowledgements

This work was originally conceived at the Telluride Neuromorphic Workshop 2023 by the authors below (in alphabetical order):

If you use NIR in your work, please cite the following paper

article{NIR2024, 
    title={Neuromorphic intermediate representation: A unified instruction set for interoperable brain-inspired computing}, 
    author={Pedersen, Jens E. and Abreu, Steven and Jobst, Matthias and Lenz, Gregor and Fra, Vittorio and Bauer, Felix Christian and Muir, Dylan Richard and Zhou, Peng and Vogginger, Bernhard and Heckel, Kade and Urgese, Gianvito and Shankar, Sadasivan and Stewart, Terrence C. and Sheik, Sadique and Eshraghian, Jason K.}, 
    rights={2024 The Author(s)},
    DOI={10.1038/s41467-024-52259-9}, 
    number={1},
    journal={Nature Communications}, 
    volume={15},
    year={2024}, 
    month=sep, 
    pages={8122},
}

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

nir-1.0.6.tar.gz (75.2 kB view details)

Uploaded Source

Built Distribution

nir-1.0.6-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file nir-1.0.6.tar.gz.

File metadata

  • Download URL: nir-1.0.6.tar.gz
  • Upload date:
  • Size: 75.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for nir-1.0.6.tar.gz
Algorithm Hash digest
SHA256 ac81a0c3d56803f535f68863fc5ea3b5bbef58adab83291a4b9d30e8ac664f17
MD5 48ee6757330e48b90ee7bd8a865c3ec7
BLAKE2b-256 c7caf8ea04b1e463905bac8a5dee6a2e4f5ef6f5ad38f4a19657f0ab174f3acf

See more details on using hashes here.

Provenance

The following attestation bundles were made for nir-1.0.6.tar.gz:

Publisher: pypi.yml on neuromorphs/NIR

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nir-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: nir-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for nir-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a07cec2d480d172fb5d40436084ec4e7206031d3acbc9b79022cd65df3398eb3
MD5 abd592d0f4178adcf3ea7d63585856ae
BLAKE2b-256 c44388799debbb10f36daa2b37a20b171f458804447cbd81dd98f2a16a7b538b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nir-1.0.6-py3-none-any.whl:

Publisher: pypi.yml on neuromorphs/NIR

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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