Skip to main content

Neuromorphic Intermediate Representation

Project description

NIR Logo

NIR - Neuromorphic Intermediate Representation

Nature Communications Paper PyPI - Downloads GitHub Tag Discord Neuromorphic Computing

NIR is a set of computational primitives, shared across different neuromorphic frameworks and technology stacks. NIR is currently supported by 9 simulators and 5 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
hxtorch (BrainScaleS-2) hxtorch examples
jaxsnn (BrainScaleS-2) jaxsnn 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.7.tar.gz (76.2 kB view details)

Uploaded Source

Built Distribution

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

nir-1.0.7-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for nir-1.0.7.tar.gz
Algorithm Hash digest
SHA256 a34e702ae2dbbc86d006e7fa094c62706c2b1a11bbd704edfdb49802f14f90b6
MD5 6dd0e8eda293792283a98996bfbe2eed
BLAKE2b-256 1ac6326f007a356abaf021e16211e7a61eb7f8b9ea22eedda7ab272f3a006e03

See more details on using hashes here.

Provenance

The following attestation bundles were made for nir-1.0.7.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.7-py3-none-any.whl.

File metadata

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

File hashes

Hashes for nir-1.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 e11ccc59328171da28c604c489e611f3bd1074b1e4e1f65e459d12d29782b0c6
MD5 ca345485b9192e7782a7091fd5243452
BLAKE2b-256 ea1070a46a372c7e94b363b829814db875191253d5c60cd3d1c3b5a1ec575131

See more details on using hashes here.

Provenance

The following attestation bundles were made for nir-1.0.7-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 Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page