GeNN由Yavuz等人在2016年收录于Science Reports的论文《GeNN: a code generation framework for accelerated brain simulations》中提出,为GPU增强神经网络框架,旨在促进图形加速器用于大规模神经网络的计算模型,以应对计算速度慢这一挑战。
CPU和GPU
CPU即(Central Processing Unit) 中央处理器,计算机的大脑,用于处理各种指令。位于主板上。比如一些常规操作的处理,打开一个文档,打开某个程序,播放一段声音等,适合做有序的工作。只有少数几个内核,并且是串行的。内核虽少,但是性能非常的强大(强于GPU),有强大的计算能力。
GPU即图像处理单元(Graphics Processing Unit),位于显卡上。接受来自CPU的指令,有大量的内核,专为执行复杂的数学和几何计算而设计的,GPU的特点特别适合于大规模并行运算,GPU在“深度学习”领域发挥着巨大的作用,因为GPU可以平行处理大量琐碎信息。深度学习所依赖的是神经系统网络——与人类大脑神经高度相似的网络——而这种网络出现的目的,就是要在高速的状态下分析海量的数据。
GeNN
GeNN是加速大脑模拟的代码生成框架,为一个开源库,通过灵活且可扩展的界面生成代码,以加速NVIDIA GPU上网络仿真的执行,且不需要用户掌握深入的技术知识,适用于Linux,Mac OS X和Windows平台。
研究背景
在合理的时间内模拟生物学相关和准确的脑网络模型仍然是计算神经科学的主要技术挑战之一。传统上,大规模脑网络在高性能计算CPU集群上模拟数小时甚至数天,这严重限制了研究的进度。更快的模拟不仅有利于加速科学发现,而且在新型实时应用中也是必不可少的,例如生物模拟机器人控制器,脑机接口或动态钳制等组合实验和计算方法。神经形态计算通常涉及低级编程,这可能是耗时的学习并且难以优化。更重要的是,硬件将具有有限范围的支持的计算模型,并且可能不会被大多数计算生物学家所利用。此外,为一个神经形态平台编写的代码不可能在没有重大修改或性能损失的情况下转移到其他平台。
GPU技术的通用计算已经吸引了计算神经科学界的关注了近十年,重点是SNN的有效模拟。SNN特别适合,因为它们的神经元通常都由相同类型的方程控制,并且很少与离散事件通信。该特性非常适合GPU的大规模并行单指令多数据(SIMD)架构。除了更灵活的多用途计算库之外,GPU相对于专用神经形态硬件的另一个优点是它们的成本相对较低,并且作为其通常工作站的一部分已经广泛用于计算神经科学家。
研究意义
计算神经科学进入了一个新的时代,并行计算变得不可或缺,因为传统的计算策略已不能满足大规模模拟的要求。GPU的已被证明是用于科学目的,包括神经科学并行计算和一些世界上最快的计算机现在都基于GPU。GeNN框架通过生成模型驱动和硬件特定的C ++ / CUDA C代码,为在NVIDIA GPU上模拟SNN提供了灵活的接口。它还可以用于任何类型的网络的时间驱动模拟,可以表示为以下组合:
- “神经元”,即在每个用户定义的时间步长彼此独立更新的模型单元,具有由ODE求解器或其他基于时间步长的更新规则定义的动态。
- “突触”,即定义神经元如何相互作用的“神经元”之间的连接,或者通过检测“突触”,即条件事件,突触前“神经元”,其他用户定义的事件或连续触发。
- “突触反向传播”,即后突起由突触后“神经元”事件触发的连接的交互和变化。
GeNN背后的主要动机是让用户尽可能多地控制模型动态,而无需担心GPU特定的低级编程。用户可以自由地控制神经元和突触动力学,尖峰条件,模拟时间步长以及时间步更新之间与模型的任何交互。新的神经元和突触模型被推入模型库,使用户可以轻松实现和使用新模型。
参考文献:
1.CPU和GPU的区别(有趣的对比视频)
2.了解GPU加速计算
3.GeNN: a code generation framework for accelerated brain simulations
版权声明
本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。




