Skip to content

Commit 014e8c6

Browse files
authored
Merge pull request #189 from neworderofjamie/main
Added GeNN and mlGeNN to software
2 parents f196cdd + 9094db9 commit 014e8c6

File tree

2 files changed

+54
-0
lines changed
  • content/english/neuromorphic-computing/software/snn-frameworks

2 files changed

+54
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
title: "GeNN"
3+
type: neuromorphic-software
4+
description: Simulator for SNN models focusing on networks, not on individual neuron morphology. Optimised for accelerated simulations on computational backends including NVIDIA GPUs.
5+
logo:
6+
website: https://genn-team.github.io/
7+
dependencies:
8+
field_of_application: Neuroscience, Machine learning
9+
source_code: https://github.com/genn-team/genn
10+
stars_widget_url: https://img.shields.io/github/stars/genn-team/genn.svg?style=social
11+
stars: 233
12+
version_widget_url: https://img.shields.io/github/release/genn-team/genn.svg?label=github%20release
13+
license: LGPL-2.1
14+
supports_hardware: False
15+
supports_NIR: False
16+
language: C++/Python
17+
maintainer: James Knight
18+
draft: false
19+
---
20+
21+
## Overview
22+
**GeNN** is a software package to accelerate Spiking Neural Network simulations
23+
on hardware including NVIDIA GPUs. GeNN uses code generation with various 'backends' to run simulations. The main backends are currently C++/CUDA for NVIDIA GPUs or C++ for CPU-only mode. GeNN is available on Linux, Windows, MacOS.
24+
25+
Networks are described using a simple Python API and built out of model components that can be fully customized. The behaviour of neurons, synapses, plasticity mechanisms, initialisation methods and connectivity construction are defined using Python strings containing a C-like language called GeNNCode. Users can fully customise these components. GeNN provides extensive documentation and tutorials.
26+
27+
GeNN focusses on flexibility and performance on a single GPU, providing unique features for offloading initialisation to the GPU and even generating connectivity on the fly, allowing very large models (millions of neurons and billions of synapses to be simulated on a single GPU.
28+
Because of this flexibility, GeNN has been used across a wide range of applications from simulating large-scale models of cortex to training recurrent SNNs using gradient-based learning for machine learning tasks.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
title: "mlGeNN"
3+
type: neuromorphic-software
4+
description: Framework for machine learning with SNNs built on the GeNN simulator. Focused on ease of use in combination with computational efficiency derived from GeNN.
5+
logo:
6+
website: https://ml-genn.readthedocs.io/en/latest/
7+
dependencies: GeNN
8+
field_of_application: Machine learning
9+
source_code: https://github.com/genn-team/ml_genn
10+
stars_widget_url: https://img.shields.io/github/stars/genn-team/ml_genn.svg?style=social
11+
stars: 24
12+
version_widget_url: https://img.shields.io/github/release/genn-team/ml_genn.svg?label=github%20release
13+
license: LGPL-2.1
14+
supports_hardware: False
15+
supports_NIR: False
16+
language: Python
17+
maintainer: James Knight
18+
draft: false
19+
---
20+
21+
## Overview
22+
**mlGeNN** is a library for machine learning with Spiking Neural Networks (SNNs), built on the efficient foundation of the GeNN simulator.
23+
24+
mlGeNN exposes the constructs required to build SNNs using an API, inspired by modern ML libraries like Keras, which aims to reduce cognitive load by automatically calculating layer sizes, default hyperparameter values etc to enable rapid prototyping of SNN models.
25+
26+
mlGeNN provides user friendly implementations of novel SNN training algorithms such as e-prop and EventProp to enable spike-based ML on top of GeNN’s GPU-optimised sparse data structures and algorithms. This allows better scaling and, using EventProp, allows training with high temporal resolution and/or thousands of time steps. mlGeNN provides extensive documentation and tutorials.

0 commit comments

Comments
 (0)