一种针对大规模脑仿真的快速通信方法技术

技术编号:37131277 阅读:26 留言:0更新日期:2023-04-06 21:29
本发明专利技术公开了一种针对大规模脑仿真的快速通信方法,提供了基于GPU

【技术实现步骤摘要】
一种针对大规模脑仿真的快速通信方法


[0001]本专利技术属于通信
,具体涉及一种针对大规模脑仿真的快速通信方法。

技术介绍

[0002]类脑计算继承了大脑低功耗、高并行、高容错、存算一体、事件驱动等特征,适合实时处理非结构化复杂信息,具有超高并行、超高速、超低功耗、高鲁棒等特性。目前,生物脑是世界上已知的唯一的通用智能系统,理解并借鉴仿生物脑的智能机制,近实时的仿真甚至训练具有生物可解释性的复杂大规模脑仿真网络,是实现强人工智能的重要且不可替代的途径之一。其中,计算速度与通信能力是构建与运行大规模脑仿真网络的重要指标。基于软件方式的仿真拥有完整的应用生态,具有良好的可用性,但在仿真速度上却与生物时间相去甚远。
[0003]基于软件的类脑仿真的仿真速度受制于许多因素,其中计算资源与通讯时延是影响仿真时间的两个重要因素。传统的计算资源包括中央处理器(CPU)与图形处理器(GPU),其中CPU拥有良好的处理复杂逻辑的能力,但其并行性会受到计算机性能的限制。近年来,GPU在通用计算领域应用较为广泛,高端GPU显卡的浮点运算最高可以达到每秒万亿次,GPU的并行计算方式相较于CPU并行方法量级更轻,加速效果更为明显。因此,基于CPU

GPU异构并行架构进行类脑仿真软件的开发对于提高类脑仿真速度具有关键意义。
[0004]大规模的脑仿真计算需要使用多个GPU并行以达到提升仿真速度的效果,因此多机间的通讯时延会极大的影响仿真的速度。传统的通讯方式(如MPI信息传递接口)仅支持数据在内存上进行相互通讯。所以,仿真时存在显存上的脉冲数据需要拷贝到内存中才能进行机器间的通讯,这增加了通讯的开销。且随着脑仿真任务规模的不断地扩大,分布式的训练框架成为了大规模脑仿真任务的重要选择。然而,脉冲数量的增多也会导致进程间通信的数据量增大从而增大进程间的通讯时间,如何在多个进程间传递消息成为了大规模脑仿真框架的瓶颈。传统方案主要依赖MPI技术实现多进程间的通信。如现有技术支持大规模脑仿真的框架包括如下方案:
[0005]基于NEST脑仿真框架,作为欧洲“人脑计划”(the Human Brain Project,简称“HBP”)的核心模拟器,基于CPU超算的并行计算架构,提出按照神经元的索引,将神经元顺序的分配到每个线程中,不同线程间的神经元通过MPI技术进行通信。NEST

Simulator是一个支持大规模分布式脉冲神经网络仿真的框架,它依赖CPU来进行仿真。在NEST脑仿真框架中神经元会按照创建顺序获得一个全局id(身份证标识号),然后根据这个id将神经元放置到一个虚拟进程上,因此一个神经元簇的神经元可能会分布到整个系统所有的机器上。这样带来了一个缺点是在仿真过程中所有机器之间都需要进行通信,所有机器之间的最大延迟和最小带宽很容易成为限制仿真速度的瓶颈。此外在NEST脑仿真框架中,通信的时候只考虑了神经元之间具体的连接,例如现在有两台机器,机器1上有一个神经元n和机器2上的10个神经元之间分别有一条突触连接,那么机器1上的神经元n发出脉冲的时候需要向机器2发送的数据量是一条连接数据量的10倍。即机器之间的通信量和机器之间发出脉冲的神
经元的突触连接总数成线性关系,这样的方式会导致通信量很大,对网络带宽也有较高的要求。
[0006]基于NeuronGPU脑仿真框架,NeuronGPU是卡利亚大学研究团队于2021年推出的可以通过多GPU进行加速脑仿真的框架。NeuronGPU是一个用于模拟大规模脉冲神经网络的GPU库。目前,NeuronGPU实现了包括Integrate

And

Fire(LIF)在内的多种神经元模型,但需要用户手动在每块显卡上分配神经元簇。NeuronGPU框架以神经元簇为单位将网络映射到显存中,实现基于GPU的并行计算加速,并且以簇为单位,簇内神经元无需远程通信,一定程度上减少了通信量。NeuronGPU中的GPU间通信是基于MPI方法实现的,MPI是用于编写分布式程序,支持点对点和广播方式的一个跨语言的通讯协议,该协议仅支持内存间数据的通信而无法对显存数据进行通讯。所以,面对来自GPU中的数据,NeuronGPU中的发送方需要将数据从显存拷贝到内存再进行通讯,同理,接收方在接到数据后也需要将数据再次拷贝到显存。这期间,显存到内存的拷贝、内存到显存的拷贝以及MPI的传输速度均增加了仿真过程中的通讯时间。此外,当面对大规模仿真任务时随着脉冲信息的增多,NeuronGPU发送数据的时间也会随之增长。

技术实现思路

[0007]本专利技术的目的在于针对上述问题,提出一种针对大规模脑仿真的快速通信方法,减少了计算节点间的数据通讯量,解决了在传统大规模类脑仿真中通讯耗时、内存显存交互耗时和通信量不稳定的问题。
[0008]为实现上述目的,本专利技术所采取的技术方案为:
[0009]本专利技术提出的一种针对大规模脑仿真的快速通信方法,用于实现不同计算设备之间的通信,计算设备包括CPU和GPU,针对大规模脑仿真的快速通信方法包括如下步骤:
[0010]S1、构建脑仿真网络模型,脑仿真网络模型包括多个神经元簇,每个神经元簇包括若干个神经元,各神经元之间相互连接,且全部神经元簇被均分至多个计算节点中,一个GPU视为一个计算节点;
[0011]S2、根据全局神经元与计算节点间的映射信息为每个计算节点创建对应的偏移列表,偏移列表用于存放每个计算节点中神经元在当前计算节点的起始地址;
[0012]S3、进行不同计算设备的CPU内存间的通信以传输代理神经元信息,为每个计算节点创建对应的远程神经元的代理神经元和计算节点起始地址表,代理神经元信息包括GPU编号和神经元ID,计算节点起始地址表用于存放本地神经元在远程计算节点的代理神经元ID起始地址,并视不同计算设备之间互为发送端和接收端,记发送端的计算节点为源计算节点,接收端的计算节点为目标计算节点;
[0013]S4、根据代理神经元发出的脉冲信息进行脑仿真,脑仿真具体如下:
[0014]S41、根据计算节点起始地址表对代理神经元发出的脉冲信息进行编码压缩,代理神经元发出的脉冲信息为当前时间步发送脉冲信息的神经元在目标计算节点的代理神经元ID;
[0015]S42、进行不同计算设备的GPU显存间的通信对编码压缩后的脉冲信息进行传输;
[0016]S43、目标计算节点接收到编码压缩后的脉冲信息后,根据本地的计算节点起始地址表获取发放脉冲信息的神经元在本地计算节点上的代理神经元ID;
[0017]S5、判断脑仿真是否完成,若是,结束流程,否则,返回执行步骤S4。
[0018]优选地,神经元之间的连接方式为单向连接或双向连接。
[0019]优选地,神经元为LIF神经元。
[0020]优选地,偏移列表的创建过程如下:
[0021]根据全局神经元与计算节点间的映射信息获取每个计算节点的神经元数量信息,并顺序排列形成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种针对大规模脑仿真的快速通信方法,用于实现不同计算设备之间的通信,所述计算设备包括CPU和GPU,其特征在于:所述针对大规模脑仿真的快速通信方法包括如下步骤:S1、构建脑仿真网络模型,所述脑仿真网络模型包括多个神经元簇,每个神经元簇包括若干个神经元,各所述神经元之间相互连接,且全部神经元簇被均分至多个计算节点中,一个GPU视为一个计算节点;S2、根据全局神经元与计算节点间的映射信息为每个计算节点创建对应的偏移列表,所述偏移列表用于存放每个计算节点中神经元在当前计算节点的起始地址;S3、进行不同计算设备的CPU内存间的通信以传输代理神经元信息,为每个计算节点创建对应的远程神经元的代理神经元和计算节点起始地址表,所述代理神经元信息包括GPU编号和神经元ID,所述计算节点起始地址表用于存放本地神经元在远程计算节点的代理神经元ID起始地址,并视不同计算设备之间互为发送端和接收端,记发送端的计算节点为源计算节点,接收端的计算节点为目标计算节点;S4、根据代理神经元发出的脉冲信息进行脑仿真,所述脑仿真具体如下:S41、根据计算节点起始地址表对代理神经元发出的脉冲信息进行编码压缩,所述代理神经元发出的脉冲信息为当前时间步发送脉冲信息的神经元在目标计算节点的代理神经元ID;S42、进行不同计算设备的GPU显存间的通信对编码压缩后的脉冲信息进行传输;S43、目标计算节点接收到编码压缩后的脉冲信息后,根据本地的计算节点起始地址表获取发放脉冲信息的神经元在本地计算节点上的代理神经元ID;S5、判断脑仿真是否完成,若是,结束流程,否则,返回执行步骤S4。2.如权利要求1所述的针对大规模脑仿真的快速通信方法,其特征在于:所述神经元之间的连接方式为单向连接或双向连接。3.如权利要求1所述的针对大规模脑仿真的快速通信方法,其特征在于:所述神经元为LIF神经元。4.如权利要求1所述的针对大规模脑仿真的快速通信方法,其特征在于:所述偏移列表的创建过程如下:根据全局神经元与计算节点间的映射信息获取每个计算节点的神经元数量信息,并顺序排列形成偏移列表。5.如权利要求1所述的针对大规模脑仿真的快速通信方法,其特征在于:所述为每个计算节点创建对应的远程神经元的代理神经元和计算节点起始地址表,过程如下:S31、遍历各计算节点的连接信息,所述连接信息包括源神经元簇ID、目标神经元簇ID、源神经元簇所属计算节点ID和目标神经元簇所属计算节点ID;S32、当源神经元簇所属计算节点ID与当前计算节点ID相同时,触发建立远程连接发送操作,源神经元簇所属计算节点根据连接信息发送源神经元簇中与目标神经元簇连接的神经元ID;S33、当目标神经元簇所属计算节点ID与当前计算节点ID相同时,触发建立远程连接接收操作,接收源神经元簇所属计算节点发来的神经元ID,并根据偏移列表在相应的位...

【专利技术属性】
技术研发人员:蔡炎松王俊宜梁华驹喻富豪朱苗杜帅帅贾海波李启斌何福存
申请(专利权)人:中国电子科技南湖研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1