Skip to content

Commit

Permalink
Merge pull request #189 from neworderofjamie/main
Browse files Browse the repository at this point in the history
Added GeNN and mlGeNN to software
  • Loading branch information
biphasic authored Nov 5, 2024
2 parents f196cdd + 9094db9 commit 014e8c6
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
title: "GeNN"
type: neuromorphic-software
description: Simulator for SNN models focusing on networks, not on individual neuron morphology. Optimised for accelerated simulations on computational backends including NVIDIA GPUs.
logo:
website: https://genn-team.github.io/
dependencies:
field_of_application: Neuroscience, Machine learning
source_code: https://github.com/genn-team/genn
stars_widget_url: https://img.shields.io/github/stars/genn-team/genn.svg?style=social
stars: 233
version_widget_url: https://img.shields.io/github/release/genn-team/genn.svg?label=github%20release
license: LGPL-2.1
supports_hardware: False
supports_NIR: False
language: C++/Python
maintainer: James Knight
draft: false
---

## Overview
**GeNN** is a software package to accelerate Spiking Neural Network simulations
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.

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.

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.
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: "mlGeNN"
type: neuromorphic-software
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.
logo:
website: https://ml-genn.readthedocs.io/en/latest/
dependencies: GeNN
field_of_application: Machine learning
source_code: https://github.com/genn-team/ml_genn
stars_widget_url: https://img.shields.io/github/stars/genn-team/ml_genn.svg?style=social
stars: 24
version_widget_url: https://img.shields.io/github/release/genn-team/ml_genn.svg?label=github%20release
license: LGPL-2.1
supports_hardware: False
supports_NIR: False
language: Python
maintainer: James Knight
draft: false
---

## Overview
**mlGeNN** is a library for machine learning with Spiking Neural Networks (SNNs), built on the efficient foundation of the GeNN simulator.

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.

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 comments on commit 014e8c6

Please sign in to comment.