PyGeNN

PyGeNN accelerates simulation of spiking neural networks (SNNs) on GPUs by providing a Python interface to the GeNN C++ library that generates efficient GPU-targeted simulation code.


Key Features:

  • GPU Acceleration: Uses GPUs to execute SNN simulations, providing substantial speed-ups compared to CPU-based execution.
  • Python Integration: Exposes GeNN functionality through Python while generating C++ simulation code for GPU execution.
  • Efficient Spike Recording: Implements an optimized spike recording system that can reduce runtime overheads by up to 10 times compared to previous methods.
  • Performance Benchmarks: Enables simulation of complex neural models faster than real-time neuromorphic systems, including full-scale cortical column models.
  • Scalability and Flexibility: Supports long-duration simulations, intricate stimuli, and custom learning rules, and can simulate models with complex three-factor learning rules almost two orders of magnitude faster than real-time.

Scientific Applications:

  • Computational Neuroscience: Large-scale SNN simulations for investigating network dynamics and spike-based computation.
  • Cortical Column Modeling: Simulation and analysis of full-scale cortical column dynamics.
  • Learning Rule Development: Implementation and evaluation of custom and complex learning rules, including three-factor learning rules.
  • Spike-Data Experiments: High-fidelity spike recording and analysis for experiments that require detailed spike output.

Methodology:

PyGeNN interfaces with the GeNN C++ library to generate GPU-targeted SNN simulation code and implements an optimized spike recording system.

Topics

Details

Tool Type:
library, workflow
Programming Languages:
Python, C++
Added:
11/29/2021
Last Updated:
11/29/2021

Operations

Publications

Knight JC, Komissarov A, Nowotny T. PyGeNN: A Python Library for GPU-Enhanced Neural Networks. Frontiers in Neuroinformatics. 2021;15. doi:10.3389/fninf.2021.659005. PMID:33967731. PMCID:PMC8100330.

PMID: 33967731
PMCID: PMC8100330
Funding: - UK Research and Innovation: EP/P006094/1, EP/S030964/1 - Horizon 2020: 945539

Links