论文部分内容阅读
本文介绍基于GPU 的大规模仿生SNN 的模拟平台的建设过程中遇到的困难及解决方案.伴随GPU 的高性能计算能力的快速提升,大规模仿生SNN 的模拟计算成为现实.这里的仿生SNN 是指:1,神经元模型是依据HH 方程并可以任意添加和修改离子通道的模型;2,突触模型是符合神经递质从释放到绑定的化学动力学过程的模型.在目前已知的相关工作中,采用GPU 模拟计算方法都具有很强的针对性,也即对于所计算的大规模SNN 事先已经明确了神经元的模型参数、突触的模型参数和网络结构等信息,难以拓展成为具有通用性质的、可以成为模拟平台所需要的计算方法.表面上,GPU 的大规模多线程的特征似乎非常适合大脑神经元及突触的大规模特征,但是GPU 的每个计算单元的存储空间有限,尤其是对Global Memory 的信息存取速度是很大的瓶颈.而大规模仿生SNN 的模拟平台的特征是:1,每个神经元的描述参数都有大约100 个以上;2,神经元和神经元、神经元和突触都具有相关性,因此必须通过Global Memory 进行信息交换;3,作为模拟平台还需要允许用户修改神经元与突触的模型参数、网络的连接方式.这些特征和需求给大规模仿生SNN 的模拟平台的设计带来很大的挑战.针对这些挑战,我们采用了一系列的优化设计,包括:1,对神经元模型和突触模型采用不同的核函数,增强计算的并行性;2,对离子通道模型采用建表查表的方式,用内存减少计算工作量;3,提取神经元的共性参数,作为GPU 的Local 参数,降低对整体内存的需求量;4,对突触链接在内存的部署进行优化,尽量减少通过Global Memory 进行信息交换时的负担.5,充分利用GPU 的并行计算能力,快速实现大规模的动态优化算法.经过优化,我们实现了在一张GTX-780 卡上,一个拥有10 万个神经元(每个神经元的参数在120 个左右)、1000 万个突触(每个突触的参数在20 个左右)的SNN 的模拟速度达到了接近实时速度的模拟计算效率,比3GHz 的CPU 的计算效率高达100 倍左右,达到了充分发挥GPU 的并行计算能力的目的,为大脑模拟平台的建设奠定了基础.