PyGeNN: A Python Library for GPU-Enhanced Neural Networks.

PyGeNN: A Python Library for GPU-Enhanced Neural Networks.
复制标题

DOI:
10.3389/fninf.2021.659005
复制
发表时间:
2021
影响因子:
3.5
通讯作者:
Nowotny T
Nowotny T
中科院分区:
医学3区
文献类型:
--
作者:
Knight JC;Komissarov A;Nowotny T

文献摘要

参考文献

被引文献

相似文献

全球十大超级计算站点中有一半以上使用GPU加速器,它们在工作站和边缘计算设备中无处不在。GeNN是一个C++库,用于为GPU生成高效的尖峰神经网络模拟代码。然而,到目前为止,GeNN的全部灵活性只能通过用C++编写模型描述和仿真代码来实现。在这里,我们介绍PyGeNN,一个Python包,它以最小的开销将GeNN的所有功能公开给Python。这提供了一种替代的,可以说更用户友好的使用GeNN的方式,并允许建模人员在不断增长的基于Python的机器学习和计算神经科学生态系统中使用GeNN。此外,我们还证明了,在Python和C++ GeNN模拟中,记录尖峰数据的开销会强烈影响运行时,并展示了一个新的尖峰记录系统如何将这些开销降低高达10倍。使用新的记录系统,我们证明了通过在现代GPU上使用PyGeNN,我们甚至可以比实时神经形态系统更快地模拟皮质柱的全尺寸模型。最后,我们证明了对具有复杂刺激和PyGeNN中定义的自定义三因素学习规则的较小模型的长时间模拟可以比实时模拟快近两个数量级。
More than half of the Top 10 supercomputing sites worldwide use GPU accelerators and they are becoming ubiquitous in workstations and edge computing devices. GeNN is a C++ library for generating efficient spiking neural network simulation code for GPUs. However, until now, the full flexibility of GeNN could only be harnessed by writing model descriptions and simulation code in C++. Here we present PyGeNN, a Python package which exposes all of GeNN's functionality to Python with minimal overhead. This provides an alternative, arguably more user-friendly, way of using GeNN and allows modelers to use GeNN within the growing Python-based machine learning and computational neuroscience ecosystems. In addition, we demonstrate that, in both Python and C++ GeNN simulations, the overheads of recording spiking data can strongly affect runtimes and show how a new spike recording system can reduce these overheads by up to 10×. Using the new recording system, we demonstrate that by using PyGeNN on a modern GPU, we can simulate a full-scale model of a cortical column faster even than real-time neuromorphic systems. Finally, we show that long simulations of a smaller model with complex stimuli and a custom three-factor learning rule defined in PyGeNN can be simulated almost two orders of magnitude faster than real-time.
DOI: 10.1371/journal.pone.0146581
发表时间: 2016
期刊: PloS one
影响因子: 3.7
作者:
Givon LE;Lazar AA
通讯作者: Lazar AA
DOI: 10.1098/rsta.2019.0160
发表时间: 2020-02-07
影响因子: 5
作者:
Rhodes, Oliver;Peres, Luca;Furber, Steve B.
通讯作者: Furber, Steve B.
DOI: 10.3389/neuro.11.012.2008
发表时间: 2008
影响因子: 3.5
作者:
Eppler, Jochen Martin;Helias, Moritz;Muller, Eilif;Diesmann, Markus;Gewaltig, Marc-Oliver
通讯作者: Gewaltig, Marc-Oliver
DOI: 10.1038/nrn3687
发表时间: 2014-04
影响因子: 34.7
作者:
Buzsaki, Gyoergy;Mizuseki, Kenji
通讯作者: Mizuseki, Kenji
DOI: 10.3389/fnins.2018.00941
发表时间: 2018-12-12
影响因子: 4.3
作者:
Knight, James C.;Nowotny, Thomas
通讯作者: Nowotny, Thomas