Skip to content

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

Merged
merged 5 commits into from
Jul 12, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Deploy Hugo site to Pages

on:
push:
branches: ["main", "student-talk"]
branches: ["main"]

permissions:
contents: read
Expand Down
23 changes: 23 additions & 0 deletions content/neuromorphic-computing/software/data-tools/nestml/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: "NESTML"
type: neuromorphic-software
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).
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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).
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: "Kaspersky Neuromorphic Platform"
Copy link
Member Author

Choose a reason for hiding this comment

The 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
Expand Up @@ -15,7 +15,7 @@ speaker_code: "https://github.com/neuromorphs/nir"
time_zone: CET
image: neuromorphic-intermediate-representation.png
description: "We show how to use the Neuromorphic Intermediate Representation to migrate your spiking model onto neuromorphic hardware."
software_tags: ["norse", "snntorch", "spyx"]
software_tags: ["norse", "snntorch", "spyx", "neuromorphic-intermediate-representation"]
---

Have you wondered how to use neuromorphic hardware platforms?
Expand Down
42 changes: 22 additions & 20 deletions layouts/partials/shared/related-content.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,8 @@
{{ if $page_context.File }}
{{ $current_slug = path.Base $page_context.File.Dir }}
{{ end }}
{{ $current_title := $page_context.Title }}


{{/* --- Part 1: Find related content (blog, events) that tag this page --- */}}

{{/* --- Part 1: Find INCOMING links from other content (blog, events, etc.) --- */}}
{{ $tag_param_key := "" }}
{{ if eq $current_type "neuromorphic-hardware" }}
{{ $tag_param_key = ".Params.hardware_tags" }}
Expand All @@ -25,33 +22,40 @@
{{ end }}
{{ end }}

{{/* --- Part 2: Find OUTGOING links to other hardware/software --- */}}

{{/* --- Part 2: Find related hardware/software (bidirectional linking) --- */}}

{{ if eq $current_type "neuromorphic-hardware" }}
{{/* I am a hardware page. Find software I support using my `software_tags` */}}
{{ with .Params.software_tags }}
{{ $software_slugs_to_find := . }}
{{ $all_software_pages := where site.RegularPages "Type" "neuromorphic-software" }}
{{ range $software_page := $all_software_pages }}
{{/* Find software this page links to */}}
{{ with .Params.software_tags }}
{{ $software_slugs_to_find := . }}
{{ $all_software_pages := where site.RegularPages "Type" "neuromorphic-software" }}
{{ range $software_page := $all_software_pages }}
{{ if ne $software_page.Permalink $page_context.Permalink }}
{{ $software_slug := "" }}
{{ if $software_page.File }}{{ $software_slug = path.Base $software_page.File.Dir }}{{ end }}
{{ if and (ne $software_slug "") (in $software_slugs_to_find $software_slug) }}
{{ $related_items = $related_items | append $software_page }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}

{{ else if and (eq $current_type "neuromorphic-software") (ne $current_slug "") }}
{{/* I am a software page. Find hardware that supports me. */}}
{{ $hardware_pages := where site.RegularPages "Type" "neuromorphic-hardware" }}
{{ range where $hardware_pages ".Params.software_tags" "intersect" (slice $current_slug) }}
{{ $related_items = $related_items | append . }}
{{/* Find hardware this page links to */}}
{{ with .Params.hardware_tags }}
{{ $hardware_slugs_to_find := . }}
{{ $all_hardware_pages := where site.RegularPages "Type" "neuromorphic-hardware" }}
{{ range $hardware_page := $all_hardware_pages }}
{{ if ne $hardware_page.Permalink $page_context.Permalink }}
{{ $hardware_slug := "" }}
{{ if $hardware_page.File }}{{ $hardware_slug = path.Base $hardware_page.File.Dir }}{{ end }}
{{ if and (ne $hardware_slug "") (in $hardware_slugs_to_find $hardware_slug) }}
{{ $related_items = $related_items | append $hardware_page }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}


{{/* --- Finalize and Render --- */}}
{{/* Deduplicate */}}
{{ $unique_related_items := slice }}
{{ $seen_permalinks := slice }}
{{ range $related_items }}
Expand All @@ -72,7 +76,6 @@ <h2 class="text-3xl font-bold mb-8">Related Content, Events & Resources</h2>
<div class="timeline-item-content">
<div class="flex flex-col md:flex-row items-start gap-5">

{{/* Thumbnail Column - Renders only if image is in front matter */}}
{{ with $item.Params.image }}
<div class="flex-shrink-0 w-full md:w-40 text-center">
<a href="{{ $item.RelPermalink }}">
Expand All @@ -98,7 +101,6 @@ <h2 class="text-3xl font-bold mb-8">Related Content, Events & Resources</h2>
</div>
{{ end }}

{{/* Content Column */}}
<div class="flex-grow">
<div class="flex justify-between items-start gap-4">
<div>
Expand Down