Dev session: James Knight, Thomas Nowotny: GeNN

The GeNN simulator

James Knight and Thomas Nowotny will introduce the GeNN simulation environment and discuss its development in this dev session.

The abstract for the talk is below:

Large-scale numerical simulations of brain circuit models are important for identifying hypotheses on brain functions and testing their consistency and plausibility. Similarly, spiking neural networks are also gaining traction in machine learning with the promise that neuromorphic hardware will eventually make them much more energy efficient than classical ANNs. In this dev session, we will present the GeNN (GPU-enhanced Neuronal Networks) framework [1], which aims to facilitate the use of graphics accelerators for computational models of large-scale spiking neuronal networks to address the challenge of efficient simulations. GeNN is an open source library that generates code to accelerate the execution of network simulations on NVIDIA GPUs through a flexible and extensible interface, which does not require in-depth technical knowledge from the users. GeNN was originally developed as a pure C++ and CUDA library but, subsequently, we have added a Python interface and OpenCL backend. The Python interface has enabled us to develop a PyNN [2] frontend and we are also working on a Keras-inspired frontend for spike-based machine learning [3].

In the session we will briefly cover the history and basic philosophy of GeNN and show some simple examples of how it is used and how it works inside. We will then talk in more depth about its development with a focus on testing for GPU dependent software and some of the further developments such as Brian2GeNN [4].