Skip to content

Commit 78712ce

Browse files
authored
Merge pull request #286 from neural-loop/software-entries
Software entries for NestML, NIR, and KNP
2 parents b076726 + 123d18a commit 78712ce

File tree

8 files changed

+119
-22
lines changed

8 files changed

+119
-22
lines changed

.github/workflows/main.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Deploy Hugo site to Pages
22

33
on:
44
push:
5-
branches: ["main", "student-talk"]
5+
branches: ["main"]
66

77
permissions:
88
contents: read
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: "NESTML"
3+
type: neuromorphic-software
4+
description: A domain-specific language and code generation toolchain for neuron and synapse models in spiking neural network simulation
5+
logo: nestml.png
6+
website: https://nestml.readthedocs.org/
7+
dependencies: Python, Jinja2, Lark, SymPy
8+
field_of_application: Neuroscience
9+
source_code: https://github.com/nest/nestml
10+
pypi_id: nestml
11+
license: GPL-2.0
12+
supports_hardware: True
13+
supports_NIR: False
14+
language: Python
15+
maintainer: Charl Linssen
16+
draft: false
17+
software_tags: ["nest", 'genn']
18+
hardware_tags: ["spinnaker-2-university-of-dresden"]
19+
---
20+
21+
22+
## Overview
23+
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
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
---
2+
title: "Neuromorphic Intermediate Representation (NIR)"
3+
type: "neuromorphic-software"
4+
description: "A graph-based intermediate representation for computational graphs of spiking neural networks, enabling interoperability across different simulators and hardware."
5+
logo: "nir-logo.png"
6+
website: "https://neuromorphs.github.io/nir/"
7+
dependencies: "Numpy"
8+
field_of_application: "Interoperability / SNN Model Exchange"
9+
source_code: "https://github.com/neuromorphs/NIR"
10+
pypi_id: "nir"
11+
license: "MIT"
12+
supports_hardware: True
13+
supports_NIR: True
14+
language: "Python"
15+
maintainer:
16+
- "Jens E. Pedersen"
17+
- "Felix Bauer"
18+
- "Jason Eshraghian"
19+
- "Bernhard Vogginger"
20+
draft: false
21+
software_tags:
22+
- "lava"
23+
- "nengo"
24+
- "norse"
25+
- "rockpool"
26+
- "sinabs"
27+
- "snntorch"
28+
- "spyx"
29+
hardware_tags:
30+
- "loihi-2-intel"
31+
- "spinnaker-2-university-of-dresden"
32+
- "speck-synsense"
33+
- "xylo-synsense"
34+
---
35+
36+
## Overview
37+
38+
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.
39+
40+
NIR is designed to be extensible and currently supports a range of popular SNN frameworks and hardware, including:
41+
- **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/)
42+
- **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/).
43+
44+
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).
45+
It is actively being developed on [GitHub](https://github.com/neuromorphs/nir) with additional tools for [PyTorch integrations](https://github.com/neuromorphs/nirtorch).
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
title: "Kaspersky Neuromorphic Platform"
3+
type: "neuromorphic-software"
4+
description: "A platform for creating and training Spiking Neural Networks (SNNs), supporting various data types and neuromorphic processors."
5+
logo: "knp-logo.png"
6+
website: "https://github.com/KasperskyLab/knp"
7+
dependencies: "Python, C++, Boost, CMake, NumPy, TensorFlow, Keras"
8+
field_of_application: "Machine Learning"
9+
source_code: "https://github.com/KasperskyLab/knp"
10+
license: "Apache-2.0"
11+
supports_hardware: True
12+
version_badge_url_override: "https://img.shields.io/github/v/tag/KasperskyLab/knp"
13+
supports_NIR: False
14+
language: "Python, C++"
15+
maintainer: "Kaspersky"
16+
draft: false
17+
---
18+
19+
## Overview
20+
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.
21+
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.
22+
Key features include:
23+
Creation and training of SNNs.
24+
Conversion of ANNs to SNNs.
25+
Development of new neuron models and synaptic plasticity rules.
26+
Support for both CPU and neuromorphic hardware (AltAI-1).
27+
Aimed at applications in robotics, IoT, unmanned systems, and wearable devices.

content/workshops/neuromorphic-intermediate-representation/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ speaker_code: "https://github.com/neuromorphs/nir"
1515
time_zone: CET
1616
image: neuromorphic-intermediate-representation.png
1717
description: "We show how to use the Neuromorphic Intermediate Representation to migrate your spiking model onto neuromorphic hardware."
18-
software_tags: ["norse", "snntorch", "spyx"]
18+
software_tags: ["norse", "snntorch", "spyx", "neuromorphic-intermediate-representation"]
1919
---
2020

2121
Have you wondered how to use neuromorphic hardware platforms?

layouts/partials/shared/related-content.html

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,8 @@
66
{{ if $page_context.File }}
77
{{ $current_slug = path.Base $page_context.File.Dir }}
88
{{ end }}
9-
{{ $current_title := $page_context.Title }}
10-
11-
12-
{{/* --- Part 1: Find related content (blog, events) that tag this page --- */}}
139

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

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

29-
{{/* --- Part 2: Find related hardware/software (bidirectional linking) --- */}}
30-
31-
{{ if eq $current_type "neuromorphic-hardware" }}
32-
{{/* I am a hardware page. Find software I support using my `software_tags` */}}
33-
{{ with .Params.software_tags }}
34-
{{ $software_slugs_to_find := . }}
35-
{{ $all_software_pages := where site.RegularPages "Type" "neuromorphic-software" }}
36-
{{ range $software_page := $all_software_pages }}
27+
{{/* Find software this page links to */}}
28+
{{ with .Params.software_tags }}
29+
{{ $software_slugs_to_find := . }}
30+
{{ $all_software_pages := where site.RegularPages "Type" "neuromorphic-software" }}
31+
{{ range $software_page := $all_software_pages }}
32+
{{ if ne $software_page.Permalink $page_context.Permalink }}
3733
{{ $software_slug := "" }}
3834
{{ if $software_page.File }}{{ $software_slug = path.Base $software_page.File.Dir }}{{ end }}
3935
{{ if and (ne $software_slug "") (in $software_slugs_to_find $software_slug) }}
4036
{{ $related_items = $related_items | append $software_page }}
4137
{{ end }}
4238
{{ end }}
4339
{{ end }}
40+
{{ end }}
4441

45-
{{ else if and (eq $current_type "neuromorphic-software") (ne $current_slug "") }}
46-
{{/* I am a software page. Find hardware that supports me. */}}
47-
{{ $hardware_pages := where site.RegularPages "Type" "neuromorphic-hardware" }}
48-
{{ range where $hardware_pages ".Params.software_tags" "intersect" (slice $current_slug) }}
49-
{{ $related_items = $related_items | append . }}
42+
{{/* Find hardware this page links to */}}
43+
{{ with .Params.hardware_tags }}
44+
{{ $hardware_slugs_to_find := . }}
45+
{{ $all_hardware_pages := where site.RegularPages "Type" "neuromorphic-hardware" }}
46+
{{ range $hardware_page := $all_hardware_pages }}
47+
{{ if ne $hardware_page.Permalink $page_context.Permalink }}
48+
{{ $hardware_slug := "" }}
49+
{{ if $hardware_page.File }}{{ $hardware_slug = path.Base $hardware_page.File.Dir }}{{ end }}
50+
{{ if and (ne $hardware_slug "") (in $hardware_slugs_to_find $hardware_slug) }}
51+
{{ $related_items = $related_items | append $hardware_page }}
52+
{{ end }}
53+
{{ end }}
5054
{{ end }}
5155
{{ end }}
5256

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

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

101-
{{/* Content Column */}}
102104
<div class="flex-grow">
103105
<div class="flex justify-between items-start gap-4">
104106
<div>

0 commit comments

Comments
 (0)