-
Notifications
You must be signed in to change notification settings - Fork 21
Software entries for NestML, NIR, and KNP #286
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 4 commits
3feb765
20b44f2
7bbc50f
b7fbcbc
123d18a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
--- | ||
title: "Neuromorphic Intermediate Representation (NIR)" | ||
type: "neuromorphic-software" | ||
description: "A graph-based intermediate representation for computational graphs of spiking neural networks, enabling interoperability across different simulators and hardware." | ||
logo: "nir-logo.png" | ||
website: "https://neuromorphs.github.io/nir/" | ||
dependencies: "Numpy" | ||
field_of_application: "Interoperability / SNN Model Exchange" | ||
source_code: "https://github.com/neuromorphs/NIR" | ||
pypi_id: "nir" | ||
license: "MIT" | ||
supports_hardware: True | ||
supports_NIR: True | ||
language: "Python" | ||
maintainer: | ||
- "Jens E. Pedersen" | ||
- "Felix Bauer" | ||
- "Jason Eshraghian" | ||
- "Bernhard Vogginger" | ||
draft: false | ||
software_tags: | ||
- "lava" | ||
- "nengo" | ||
- "norse" | ||
- "rockpool" | ||
- "sinabs" | ||
- "snntorch" | ||
- "spyx" | ||
hardware_tags: | ||
- "loihi-2-intel" | ||
- "spinnaker-2-university-of-dresden" | ||
- "speck-synsense" | ||
- "xylo-synsense" | ||
--- | ||
|
||
## Overview | ||
|
||
By defining a common set of computational primitives (like Leaky-Integrate-and-Fire neurons and convolutions), NIR allows researchers and developers to define a model once and then translate it to run on different backends without having to rewrite the model from scratch for each platform. This decouples the model definition from the hardware or software-specific implementation details. | ||
|
||
NIR is designed to be extensible and currently supports a range of popular SNN frameworks and hardware, including: | ||
- **Simulators:** [Lava-DL](/neuromorphic-computing/software/snn-frameworks/lava/), [Nengo](/neuromorphic-computing/software/snn-frameworks/nengo/), [Norse](/neuromorphic-computing/software/snn-frameworks/norse/), [Rockpool](/neuromorphic-computing/software/snn-frameworks/rockpool/), [Sinabs](/neuromorphic-computing/software/snn-frameworks/sinabs/), [snnTorch](/neuromorphic-computing/software/snn-frameworks/snntorch/), [Spyx](/neuromorphic-computing/software/snn-frameworks/spyx/) | ||
- **Hardware:** [Intel Loihi 2](/neuromorphic-computing/hardware/loihi-2-intel/), [SpiNNaker 2](/neuromorphic-computing/hardware/spinnaker-2-university-of-dresden/), [SynSense Speck](/neuromorphic-computing/hardware/speck-synsense/), [SynSense Xylo](/neuromorphic-computing/hardware/xylo-synsense/). | ||
|
||
More information can be found in the [NIR documentation](https://neuroir.org/docs/) and the [Nature Communications paper](https://www.nature.com/articles/s41467-024-52259-9). | ||
It is actively being developed on [GitHub](https://github.com/neuromorphs/nir) with additional tools for [PyTorch integrations](https://github.com/neuromorphs/nirtorch). |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
--- | ||
title: "Kaspersky Neuromorphic Platform" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ok, I never heard about this before. Nice find! |
||
type: "neuromorphic-software" | ||
description: "A platform for creating and training Spiking Neural Networks (SNNs), supporting various data types and neuromorphic processors." | ||
logo: "knp-logo.png" | ||
website: "https://github.com/KasperskyLab/knp" | ||
dependencies: "Python, C++, Boost, CMake, NumPy, TensorFlow, Keras" | ||
field_of_application: "Machine Learning" | ||
source_code: "https://github.com/KasperskyLab/knp" | ||
license: "Apache-2.0" | ||
supports_hardware: True | ||
version_badge_url_override: "https://img.shields.io/github/v/tag/KasperskyLab/knp" | ||
supports_NIR: False | ||
language: "Python, C++" | ||
maintainer: "Kaspersky" | ||
draft: false | ||
--- | ||
|
||
## Overview | ||
The Kaspersky Neuromorphic Platform (KNP) is a software platform for developing, training, and executing Spiking Neural Networks (SNNs). It is designed to work with various types of input data, including telemetry, events, images, 3D data, audio, and tactile data. KNP allows users to create and train SNNs, convert Artificial Neural Networks (ANNs) into SNNs, and optimize network structures. | ||
The platform supports application development in both C++ and Python and can be deployed on standard CPUs as well as the AltAI-1 neuromorphic processor. This makes it suitable for a range of applications, from research into new neural network topologies and learning rules to implementing solutions for robotics, IoT, and other low-power devices. | ||
Key features include: | ||
Creation and training of SNNs. | ||
Conversion of ANNs to SNNs. | ||
Development of new neuron models and synaptic plasticity rules. | ||
Support for both CPU and neuromorphic hardware (AltAI-1). | ||
Aimed at applications in robotics, IoT, unmanned systems, and wearable devices. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
--- | ||
title: "NESTML" | ||
type: neuromorphic-software | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Judging by the description, isn't this more like a (intermediate) language similar to NIR? In that case, I would classify it as a data tool more than a simulator. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thanks - that makes sense. I'll move it to data tools |
||
description: A domain-specific language and code generation toolchain for neuron and synapse models in spiking neural network simulation | ||
logo: nestml.png | ||
website: https://nestml.readthedocs.org/ | ||
dependencies: Python, Jinja2, Lark, SymPy | ||
field_of_application: Neuroscience | ||
source_code: https://github.com/nest/nestml | ||
pypi_id: nestml | ||
license: GPL-2.0 | ||
supports_hardware: True | ||
supports_NIR: False | ||
language: Python | ||
maintainer: Charl Linssen | ||
draft: false | ||
software_tags: ["nest", 'genn'] | ||
hardware_tags: ["spinnaker-2-university-of-dresden"] | ||
--- | ||
|
||
|
||
## Overview | ||
NESTML is a domain-specific language for neuron and synapse models. These dynamical models can be used in simulations of brain activity on several platforms, in particular the [NEST Simulator](https://nest-simulator.readthedocs.org/). NESTML combines an easy to understand, yet powerful syntax; a flexible processing toolchain, written in Python; and good simulation performance by means of code generation (C++ for NEST Simulator). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same question as the other PR: do we want to publish the docs when the branch gets pushed?