CN116739062A - 基于gpu的大规模皮层脉冲神经网络异步并行仿真算法 - Google Patents
基于gpu的大规模皮层脉冲神经网络异步并行仿真算法 Download PDFInfo
- Publication number
- CN116739062A CN116739062A CN202310537186.3A CN202310537186A CN116739062A CN 116739062 A CN116739062 A CN 116739062A CN 202310537186 A CN202310537186 A CN 202310537186A CN 116739062 A CN116739062 A CN 116739062A
- Authority
- CN
- China
- Prior art keywords
- neuron
- connection
- gpu
- local
- neurons
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 21
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 19
- 230000001054 cortical effect Effects 0.000 title claims abstract description 7
- 210000002569 neuron Anatomy 0.000 claims abstract description 93
- 238000004088 simulation Methods 0.000 claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 210000004556 brain Anatomy 0.000 claims abstract description 7
- 230000008901 benefit Effects 0.000 claims abstract description 5
- 210000003710 cerebral cortex Anatomy 0.000 claims abstract description 5
- 239000011159 matrix material Substances 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 12
- 210000003618 cortical neuron Anatomy 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- 230000008054 signal transmission Effects 0.000 claims description 7
- 238000007599 discharging Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 4
- 230000000638 stimulation Effects 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 claims description 4
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 claims description 2
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000002474 experimental method Methods 0.000 claims description 2
- 230000001242 postsynaptic effect Effects 0.000 claims description 2
- 238000007781 pre-processing Methods 0.000 claims description 2
- 230000035807 sensation Effects 0.000 claims description 2
- 210000000225 synapse Anatomy 0.000 claims description 2
- 230000000946 synaptic effect Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 210000000977 primary visual cortex Anatomy 0.000 description 2
- 210000000857 visual cortex Anatomy 0.000 description 2
- 102100025471 Epiphycan Human genes 0.000 description 1
- 101001056751 Homo sapiens Epiphycan Proteins 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- CXKWCBBOMKCUKX-UHFFFAOYSA-M methylene blue Chemical compound [Cl-].C1=CC(N(C)C)=CC2=[S+]C3=CC(N(C)C)=CC=C3N=C21 CXKWCBBOMKCUKX-UHFFFAOYSA-M 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000015541 sensory perception of touch Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0499—Feedforward networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本发明属神经网络仿真模拟技术领域,具体为基于GPU的大规模皮层脉冲神经网络异步并行仿真算法。本发明利用计算显卡的多线程和纹理内存的优势,结合生物大脑接受外部刺激的通用形式,以及皮层中神经元之间普遍的连接模式,设计GPU与CPU异步并行的算法框架;GPU负责神经元动力学方程的并行演化,以及局域网络内各向同性连接的分块式并行计算,CPU负责处理各向异性的长程连接;并可兼容不同的神经元动力学方程和可塑性学习规则。与现有技术相比,本发明可以有效提升仿真速度,为单个计算节点提供仿真模拟生物大脑皮层中千万级大规模脉冲神经网络的工具,并适用于单节点多显卡以及多节点多显卡的分布式运算模型。
Description
技术领域
本发明属神经网络仿真模拟技术领域,具体涉及基于计算显卡的大规模脉冲神经网络并行仿真模拟算法。
背景技术
现有的大脑皮层大规模神经网络仿真多采用在CPU集群上部署NEST,PyNN,Brian等脉冲神经元网络模拟软件,这些软件有统一的算法框架,即在每个CPU核心线程上并行求解单神经元模型的动力学方程,然后通过基于消息传递的并行编程(MPI)实现脉冲信号在不同神经元之间的传递。例如欧洲的人脑计划(HBP),瑞士的蓝脑计划(BBP)以及美国脑计划(BRAIN)中涉及神经网络模拟仿真的部分都在使用这种技术。最近Allen Institute的小鼠视皮层模型用了5个24核心CPU(Xeon E5-2620 v2,2.10GHz)的节点1小时的计算时间(共600G内存),来模拟35,000个整合发放(LIF)和10,000个多舱室的脉冲神经元网络1秒的响应(Arkhipov,et al.,2018)然而哺乳动物初级视皮层的神经元数量实际在108的量级;因此要完成对初级视皮层的模拟,即使全部使用简化的LIF神经元模型,在算力和内存需求上对于目前的CPU并行算法仍是极大的挑战。
另一方面,相对于计算型显卡(GPU)的核心(CUDA-Core),CPU核心的分支处理能力非常强,但在脉冲神经元网络的模拟中只有放电事件涉及分支,并且皮层神经元的平均放电率在1-10Hz,并不能充分利用CPU的分支处理优势。同时,皮层神经元之间的连接在空间中存在一定规律,而CPU框架下的线性内存和基于MPI的并行处理,并不能利用神经网络的这个拓扑特性。
目前单GPU(例如NVIDIA公司的H100)的核心数已达到了16,896个(1.4GHz),其分块式的处理单元架构及其纹理内存的二维数据读取和内置插值特性,在处理局域连接矩阵和空间连续的输入刺激时,相对于CPU的线性内存也有很大的优势。因此如何充分利用GPU来设计新型算法,是减少大规模脉冲神经网络模拟能耗,降低大规模脉冲神经网络应用门槛的突破口。
发明内容
本发明的目的在于提供一种能够减少模拟能耗、提升运算能力的大规模皮层脉冲神经网络异步并行仿真算法
本发明提供的大规模脉冲神经元网络的异步并行仿真算法,是基于现有计算显卡(GPU)(如NVIDIA公司的)的硬件架构的,利用计算显卡的多线程和纹理内存的优势,结合生物大脑接受外部刺激的通用形式,以及皮层中神经元之间普遍的连接模式,设计并实现GPU与中央处理器(CPU)异步并行的算法框架;其中,GPU负责神经元动力学方程的并行演化,以及局域网络内各向同性连接的分块式并行计算,CPU负责处理各向异性的长程连接;并可兼容不同的神经元动力学方程和可塑性学习规则,提高连接矩阵和脉冲信号传递在GPU显存中的存储和计算效率;具体步骤为:
(1)外界输入刺激的预处理,具体包括:
(1.1)将第i时间步长内(ti≤t<ti+1)具有一、二或三维信号的输入刺激映射到二维三通道的纹理显存上;由于纹理显存可以有不同的图层,第三维可作为离散化的一个维度,也可以作为时序输入刺激在不同时刻下的数据;因此,纹理显存可以处理基本的外界输入信号,包括:视觉,听觉(二维信号),触觉(二维曲面信号),肢体角度感(每个关节均为一组二维信号);
(1.2)创建处理对应感觉的大脑核团前馈模型,其输出脉冲信号作为皮层神经元的输入:
(1.2.1)利用纹理显存的线性插值特性,在每个核团神经元对应的感受野范围内对时空输入进行连续采样,获得采样后的输入刺激强度指离散化后的二维或三维坐标值;
(1.2.2)利用GPU的Block Reduce块状并行(Harris,2018),对输入采样与每个核团神经元的卷积核作并行卷积操作:
(1.2.3)将卷积值c通过电生理实验中测得的核团神经元非线性增益曲线函数G(c)(具体形式任意,常用S型函数拟合),计算得到其放电率随时间的变化,作为时变泊松过程的频率;
(1.2.4)通过泊松过程,完成时变放电率G(c)到放电时刻tsp的转换;利用(离散式的)纹理显存的二维读取性质,将核团神经元在外界输入空间内对应的位置向量映射到纹理显存上,记录其二维序号,并在每个时间步长开始时更新对应核团神经元的tsp,作为皮层神经元的前馈信号输入。
(2)网络连接的预生成,具体包括:
(2.1)前馈连接:基于解剖学实验数据直接生成核团到皮层神经元的前馈连接,也可以先初始化连接,在前馈突触中加入学习规则,构成有可塑性的前馈连接;
(2.2)皮层内连接:基于解剖学实验数据,大脑皮层中每个脑区普遍分为6层,每层神经元的层内连接和与其他层平面内的连接模式都包括短程和长程两种,具体地:
(2.2.1)每层各自确定神经元在二维空间内的位置,并对二维空间进行局域分块,设共分为n个局域块,每个局域块内神经元数量为m,控制为32的倍数(一般为1024),保证并行规模m×n等于总神经元数量;GPU在实际运行时的规模大小由核心(CUDA-Core),SM(流式多处理器)等硬件单元数量决定;
(2.2.2)确定各层内和各层间神经元的短程连接和长程连接范围,计算局域块中心距离和最大半径,记录每个在短程和长程连接范围内相邻局域块的序号;
(2.2.3)每个局域块与短程连接范围内的其它相邻的局域块构成邻接矩阵,用于在GPU显存中存储短程连接强度;对于数量相对较少的长程连接强度,则以神经元序号向量和连接强度向量的形式存储在CPU内存中。
(3)并行演化单神经元模型,按分块存储脉冲信号,包括:
(3.1)确认大规模神经网络中所使用的单神经元模型,例如Leaky integrate-and-fire,Adaptive exponential integrate-and-fire,多舱室模型等等;若使用多舱室模型(不超过1024个舱室),则局域块内原本的神经元行序号可标记代表局域块内神经元数量,列序号则代表每个神经元的舱室数;同时需固定演化该模型动力学方程(Runge-Kutta等)的数值方法,使其精度与确定脉冲放电时刻算法的时间精度一致;
(3.2)确认脉冲信号基于突触电导或电流随时间变化的形式;
(3.3)对于输入层神经元,需要先根据(2.1)读取对应核团前馈神经元的脉冲放电输出,根据(3.2)计算来自于核团部分的输入电导;否则可直接演化(3.1)中的动力学方程,并判断对应神经元是否在本步长内发生脉冲放电,并估算其放电时刻,估算时间精度需和演化动力学方程的数值方法一致;
(3.4)按局域块记录放电神经元的序号和放电时刻到数组:根据(3.2)计算每个脉冲信号在下一时刻的单位响应;由于一个时间步长通常小于(或等于)1毫秒,局域块中神经元脉冲数量较少,直接用CUDA/C++(NVIDIA GPU的编程语言)内置原子性加和函数记录总脉冲数量,并赋值每个在本时间步长放电的神经元各自在数组内的序号,并行写入放电时刻。
(4)脉冲信号的传递,具体地:
(4.1)短程连接:由GPU计算,使用与(3.1)相同的神经元编号,首先遍历第i个局域块与短程连接范围内各局域块(包括自身)的连接矩阵ij(邻接矩阵的生成见(2.2.2-3)),再遍历读取(3.3)中所记录的第j个局域块中在本步长中脉冲放电的神经元k产生的单位响应,与邻接矩阵ij中各自第k列的连接强度并行作乘法计入自身的电导/电流(邻接矩阵行标对应第i个局域块中的神经元编号);
(4.2)长程连接:遍历在当前步长有脉冲放电(若计算实际传播速度,则加入相应延迟)且在有长程连接的神经元,读取(2.2.3)中记录的长程连接向量中对应的连接强度乘以单位响应计入到突触后神经元的电导/电流中;
(4.3)使(4.1)和(4.2)异步进行,两者完成后,通过GPU,使用与(3.1)相同的并行参数,将每个神经元的长程输入响应(CPU内存)合并到短程输入响应(GPU显存)中,并行更新每个神经元在下一时刻的电导/电流。
本发明的异步并行仿真算法的整体流程为:
(5.1)判断所有局域块与其相邻局域块的邻接矩阵内存需求之和,是否可以一次性完整的载入到GPU显存上;
(5.2)开始按时间步长循环模拟;
(5.2.1)按步骤(1.1)实时读取或提前载入外界输入;
(5.2.2)执行步骤(1.2.1)-(1.2.4)中对皮层前馈输入的预处理和步骤(3)演化单神经元模型;
(5.2.3)若步骤(5.1)中判断成立,则执行步骤(4.1),同时异步从GPU显存下载神经元放电时刻到CPU,执行步骤(4.2),最后执行步骤(4.3);否则:
(5.3.1)根据GPU的异步引擎数量和GPU的显存大小,将每k个局域块的邻接矩阵组合成一个邻接矩阵局域组(共l个局域组,使得k×l=n(局域块数),将第1个局域组从CPU内存异步上传到GPU显存,同时异步下载对应第1个局域组中神经元的脉冲放电时刻;
注:所有局域组的邻接矩阵内存占用大小为n×p×m2,(其中p为局域块的最大近邻数),基于神经元网络局部连接的模式,远小于传统邻接矩阵的大小:n2×m2,解决大规模网络显存不足的问题;
(5.3.2)上传第2个局域组到GPU显存,同时GPU并行执行步骤(4.1),计算第1个局域组中短程连接的脉冲信号传递,CPU异步执行步骤(4.2)计算第1个局域组中长程连接的脉冲信号传递,并上传对应神经元的长程电导/电流;
(5.3.3)依次上传所有的局域组的并异步执行(4.1)和(4.2)的计算,最后执行步骤(4.3),完成一次仿真循环。
注:若使用的GPU型号较旧显存较小,则执行(5.2.2)时也可能遇到无法单次完成的情况,可参照(5.2.3)内将内存传信息到GPU显存信息与GPU并行计算异步的方法。
与现有技术相比,本发明可以有效提升仿真速度,为单个计算节点提供仿真模拟生物大脑皮层中千万级大规模脉冲神经网络的工具,并适用于单节点多显卡以及多节点多显卡的分布式运算模型。
附图说明
图1为本发明算法框架图。
具体实施方式
实施例:
在单CPU(AMD EPYC 7543 32-Core Processor)单GPU(NVIDIA A40 48G)节点上,以视觉皮层脉冲神经网络为例:
(1)中等规模脉冲神经元网络:32×32像素每秒120帧的视觉输入,512个侧膝体核团(LGN)神经元,5×1024个初级视皮层神经元完成8000步迭代,步长0.125ms,只需要6秒;
(2)大规模脉冲神经元网络:512×512像素每秒120帧的视觉输入,约6万个LGN神经元,56×1024个初级视皮层神经元(大于Allen Institute 4,5000个神经元的规模),同样的8000步迭代,步长0.125ms的迭代也只需要2分钟;
(3)对于小规模的可学习脉冲神经网络,128×128像素30帧每秒,256个侧膝体神经元,1×1024个初级视皮层神经元,完成1,068,000步(步长1ms,模拟17.8分钟)的迭代也只需要54分钟。
这些示例中受激发的皮层神经元放电率均在合理的实验范围内(5-100Hz),采用的图像刺激是时间频率为8Hz,空间频率40cpd(视野角度)的漂移光栅,单神经元模型均为Adaptive Exponential Integrate-and-fire模型。
参考文献
Arkhipov,A.,Gouwens,N.W.,Billeh,Y.N.,Gratiy,S.,Iyer,R.,Wei,Z.,...Koch,C.(2018).Visual physiology of the layer 4cortical circuitinsilico.PLOS Computational Biology,e1006535.
Harris,M.(2018).Optimizing Parallel Reduction in CUDA.Webinar:NVIDIAcorporation。
Claims (2)
1.一种基于GPU的大规模皮层脉冲神经网络异步并行仿真算法,其特征在于,利用计算显卡的多线程和纹理内存的优势,结合生物大脑接受外部刺激的通用形式,以及皮层中神经元之间普遍的连接模式,设计并实现GPU与CPU异步并行的算法框架;其中,GPU负责神经元动力学方程的并行演化,以及局域网络内各向同性连接的分块式并行计算,CPU负责处理各向异性的长程连接;并可兼容不同的神经元动力学方程和可塑性学习规则,提高连接矩阵和脉冲信号传递在GPU显存中的存储和计算效率;具体步骤为:
(1)外界输入刺激的预处理,包括:
(1.1)将第i时间步长内(ti≤t<ti+1)具有一、二或三维信号的输入刺激映射到二维三通道的纹理显存上;由于纹理显存有不同的图层,第三维可作为离散化的一个维度,或者作为时序输入刺激在不同时刻下的数据;因此,纹理显存用于处理基本的外界输入信号,包括:视觉,听觉,触觉,肢体角度感;
(1.2)创建处理对应感觉的大脑核团前馈模型,其输出脉冲信号作为皮层神经元的输入:
(1.2.1)利用纹理显存的线性插值特性,在每个核团神经元对应的感受野范围内对时空输入进行连续采样,获得采样后的输入刺激强度指离散化后的二维或三维坐标值;
(1.2.2)利用GPU的Block Reduce并行加法算法,对输入采样与每个核团神经元的卷积核作并行卷积操作:
(1.2.3)将卷积值c通过电生理实验中得到的核团神经元非线性增益曲线函数G(c),计算得到其放电率随时间的变化,作为时变泊松过程的频率;
(1.2.4)通过泊松过程,完成时变放电率G(c)到放电时刻tsp的转换;利用纹理显存的二维读取性质,将核团神经元在外界输入空间内对应的位置向量映射到纹理显存上,记录其二维序号,并在每个时间步长开始时更新对应核团神经元的tsp,若无放电,则计为0;
(2)网络连接的预生成,具体包括:
(2.1)前馈连接:基于解剖学实验数据直接生成核团到皮层神经元的前馈连接,或者先初始化连接,在前馈突触中加入学习规则,构成有可塑性的前馈连接;
(2.2)皮层内连接:基于解剖学实验数据,大脑皮层中每个脑区普遍分为6层,每层神经元的层内连接和与其他层平面内的连接模式都包括短程和长程两种,具体地:
(2.2.1)每层各自确定神经元在二维空间内的位置,并对二维空间进行局域分块,设共分为n个局域块,每个局域块内神经元数量为m,控制为32的倍数,保证并行规模m×n等于总神经元数量;
(2.2.2)确定各层内和各层间神经元的短程连接和长程连接范围,计算局域块中心距离和最大半径,记录每个在短程和长程连接范围内相邻局域块的序号;
(2.2.3)每个局域块与短程连接范围内的其它相邻的局域块构成邻接矩阵,用于在GPU显存中存储短程连接强度;对于数量相对较少的长程连接强度,则以神经元序号向量和连接强度向量的形式存储在CPU内存中;
(3)并行演化单神经元模型,按分块存储脉冲信号,包括:
(3.1)确认大规模神经网络中所使用的单神经元模型;若使用多舱室模型,则局域块内原本的神经元行序号标记代表局域块内神经元数量,列序号则代表每个神经元的舱室数;同时固定演化该模型动力学方程的数值方法,使其精度与确定脉冲放电时刻算法的时间精度一致;
(3.2)确认脉冲信号基于突触电导或电流随时间变化的形式;
(3.3)对于输入层神经元,先根据步骤(2.1)读取对应核团前馈神经元的脉冲放电输出,根据步骤(3.2)计算来自于核团部分的输入电导;否则直接演化步骤(3.1)中的动力学方程,判断对应神经元是否在本步长内发生脉冲放电,并估算其放电时刻,估算时间精度和演化动力学方程的数值方法一致;
(3.4)按分块记录放电神经元的序号和放电时刻到数组:根据步骤(3.2)计算每个脉冲信号在下一时刻的单位响应;由于一个时间步长小于或等于1毫秒,单个局域分块中神经元脉冲数量较少,直接用CUDA内置原子性加和函数记录总脉冲数量,并赋值每个在本时间步长放电的神经元各自在数组内的序号,并行写入放电时刻;
(4)脉冲信号的传递,具体包括:
(4.1)短程连接:由GPU计算,使用与(3.1)相同的神经元编号,首先遍历第i个局域块与短程连接范围内各局域块的连接矩阵ij,再遍历读取(3.3)中所记录的第j个局域块中在本步长中脉冲放电的神经元k产生的单位响应,与邻接矩阵ij中各自第k列的连接强度并行作乘法计入自身的电导/电流,邻接矩阵行标对应第i个局域块中的神经元编号;
(4.2)、长程连接:遍历在当前步长有脉冲放电,且在有长程连接的神经元,读取步骤(2.2.3)中记录的长程连接向量中对应的连接强度乘以单位响应计入到突触后神经元的电导/电流中;
(4.3)步骤(4.1)和步骤(4.2)异步进行,两者完成后,通过GPU,使用与步骤(3.1)相同的并行参数,将每个神经元的长程输入响应合并到短程输入响应中,并行更新每个神经元在下一时刻的电导/电流。
2.根据权利要求1所述的基于GPU的大规模皮层脉冲神经网络异步并行仿真算法,其特征在于,整体流程为:
(5.1)判断所有局域块与其相邻局域块的邻接矩阵内存需求之和,是否可以一次性完整的载入到GPU显存上;
(5.2)开始按时间步长循环模拟;
(5.2.1)按步骤(1.1)实时读取或提前载入外界输入;
(5.2.2)执行步骤(1.2.1)-(1.2.4)中对皮层前馈输入的预处理和步骤(3)演化单神经元模型;
(5.2.3)若步骤(5.1)中判断成立,则执行步骤(4.1),同时异步从GPU显存下载神经元放电时刻到CPU,执行步骤(4.2),最后执行步骤(4.3);否则:
(5.3.1)根据GPU的异步引擎数量和GPU的显存大小,将每k个局域块的邻接矩阵组合成一个邻接矩阵局域组,将第1个局域组从CPU内存异步上传到GPU显存,同时异步下载对应第1个局域组中神经元的脉冲放电时刻;
(5.3.2)上传第2个局域组到GPU显存,同时GPU并行执行步骤(4.1),计算第1个局域组中短程连接的脉冲信号传递,CPU异步执行步骤(4.2)计算第1个局域组中长程连接的脉冲信号传递,并上传对应神经元的长程电导/电流;
(5.3.1)依次上传所有的局域组的并异步执行(4.1)和(4.2)的计算,最后执行步骤(4.3),完成一次仿真循环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310537186.3A CN116739062A (zh) | 2023-05-13 | 2023-05-13 | 基于gpu的大规模皮层脉冲神经网络异步并行仿真算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310537186.3A CN116739062A (zh) | 2023-05-13 | 2023-05-13 | 基于gpu的大规模皮层脉冲神经网络异步并行仿真算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116739062A true CN116739062A (zh) | 2023-09-12 |
Family
ID=87908797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310537186.3A Pending CN116739062A (zh) | 2023-05-13 | 2023-05-13 | 基于gpu的大规模皮层脉冲神经网络异步并行仿真算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116739062A (zh) |
-
2023
- 2023-05-13 CN CN202310537186.3A patent/CN116739062A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107578098B (zh) | 基于脉动阵列的神经网络处理器 | |
CN104641385B (zh) | 神经核心电路及为多个神经元保存神经元属性的方法 | |
Sierra-Canto et al. | Parallel training of a back-propagation neural network using CUDA | |
Minkovich et al. | HRLSim: A high performance spiking neural network simulator for GPGPU clusters | |
Naveros et al. | A spiking neural simulator integrating event-driven and time-driven computation schemes using parallel CPU-GPU co-processing: a case study | |
CN111176758B (zh) | 配置参数的推荐方法、装置、终端及存储介质 | |
Schäfer et al. | Simulation of spiking neural networks—architectures and implementations | |
CN105701540A (zh) | 一种自生成神经网络构建方法 | |
Wu et al. | A structure–time parallel implementation of spike-based deep learning | |
Spruegel et al. | Generic approach to plausibility checks for structural mechanics with deep learning | |
Thibeault et al. | A Novel Multi-GPU Neural Simulator. | |
Zhang et al. | A GPU-based computational framework that bridges neuron simulation and artificial intelligence | |
Chatzikonstantis et al. | Multinode implementation of an extended hodgkin–huxley simulator | |
De Camargo et al. | A multi‐GPU algorithm for large‐scale neuronal networks | |
Wang et al. | BrainScale: Enabling scalable online learning in spiking neural networks | |
Rotermund et al. | Massively parallel fpga hardware for spike-by-spike networks | |
Du Nguyen et al. | Accelerating complex brain-model simulations on GPU platforms | |
CN116739062A (zh) | 基于gpu的大规模皮层脉冲神经网络异步并行仿真算法 | |
Gerum et al. | Leaky-integrate-and-fire neuron-like long-short-term-memory units as model system in computational biology | |
CN113628318B (zh) | 一种基于光线追踪的分布式实时神经元渲染方法和系统 | |
CN109635942A (zh) | 一种仿脑兴奋态和抑制态工作状态神经网络电路结构及方法 | |
CN114897152A (zh) | 一种神经形态计算装置 | |
Léveillé et al. | Learning in a distributed software architecture for large-scale neural modeling | |
Bautembach et al. | Multi-gpu snn simulation with static load balancing | |
de Camargo | A multi-GPU algorithm for communication in neuronal network simulations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |