当前位置: 首页 > 专利查询>浙江大学专利>正文

一种面向脉冲中继的高性能脉冲发送仿真方法和装置制造方法及图纸

技术编号:37389247 阅读:11 留言:0更新日期:2023-04-27 07:28
本发明专利技术公开了一种面向脉冲中继的高性能脉冲发送仿真方法和装置,该方法包括配置阶段和运行阶段;配置阶段为利用脉冲目标搜索算法预先为每个神经元计算其对应的各个脉冲目标,即应该接收该神经元所发放脉冲的下游树突或神经元,从而建立每个神经元与其对应的各个脉冲目标的直接联系;运行阶段为利用配置阶段计算好的各个神经元与其对应脉冲目标的直接联系,将每个神经元所发放的各个脉冲直接发送到对应的各个脉冲目标;从而消除运行阶段对中继路径的重复计算,能够减少脉冲发送仿真的计算成本并缩短类脑硬件仿真时间。成本并缩短类脑硬件仿真时间。成本并缩短类脑硬件仿真时间。

【技术实现步骤摘要】
一种面向脉冲中继的高性能脉冲发送仿真方法和装置


[0001]本专利技术属于类脑计算硬件的功能性仿真领域,涉及一种面向脉冲中继的高性能脉冲发送仿真方法和装置。

技术介绍

[0002]近年来“内存墙”与“功耗墙”问题日趋严重,传统计算机所遵循的冯
·
诺依曼体系结构正在面临巨大的挑战。在后摩尔时代,半导体行业迫切需要寻求新的架构与方法以满足电子产业对不断提高的计算性能和极低功耗的需求。随着脑科学的发展,人们逐渐了解到人脑是一部极高能效的计算机,类脑计算应运而生。内存与计算单元合二为一,从根本上消除了传统冯
·
诺依曼体系架构的“内存墙”问题。类脑计算的基本思路是将生物神经网络的原理和机制应用于计算机系统设计,针对智能信息处理的特定应用来提高性能和降低功耗。为了紧密融合计算和存储,类脑硬件通常采用众核架构,不同核心彼此独立,不共享计算或存储单元,仅通过发送脉冲实现核间通信。
[0003]脉冲神经网络作为第三代神经网络具有高度的生物真实性,由于在真实世界的学习任务中展现出独特优势,迅速成为类脑计算领域的研究热点。但因为单个神经元的功能有限,脉冲神经网络需要数以百万计的神经元协同工作才能实现特定的智能信息处理功能。
[0004]对于包含百万级神经元的脉冲神经网络,一个神经元与其脉冲目标(即,接收该神经元所发放脉冲的下游树突或神经元)可能被映射到相距较远的计算核心上,脉冲目标所在的目的地计算核心可能不在神经元所在的源计算核心的路由范围内,神经元所发放的脉冲需要经过多个中继核心的中继才能到达脉冲目标。源计算核心在其轴突存储区为每个神经元维护一个轴突,每个轴突可包括多个轴突末端,每个轴突末端给出一个应该接收该轴突对应神经元所发放脉冲的下一级脉冲目标或脉冲中继。每个中继核心可在其轴突存储区维护多个脉冲中继,每个脉冲中继可包括多个中继目标,每个中继目标给出一个应该接收被中继脉冲的下一级脉冲目标或脉冲中继。由此,脉冲神经网络中的所有轴突、脉冲中继和脉冲目标构成一张有向无环的中继图。其中的每条中继路径以一个轴突为起点,可经过零到多个脉冲中继,并最终到达一个脉冲目标。此外,由于以同一轴突为起点的任意两条中继路径不能经过同一脉冲中继或到达同一脉冲目标,而同一中继路径不能经过同一脉冲中继一次以上,因此以同一轴突为起点的所有中继路径应该组成一棵树,其根节点为轴突,叶节点为脉冲目标,其余节点为脉冲中继。
[0005]在脉冲神经网络的运行过程中,神经元可能多次发放脉冲。为每次脉冲发放计算该脉冲所经过的所有中继路径会产生巨大的时间开销。减少中继路径计算的时间开销对于实现高效的类脑硬件仿真而言具有重要意义。

技术实现思路

[0006]本专利技术的目的在于针对现有技术的不足,提供了一种面向脉冲中继的高性能脉冲
发送仿真方法和装置。
[0007]本专利技术的目的是通过以下技术方案来实现的:一种面向脉冲中继的高性能脉冲发送仿真方法,所述仿真方法包括配置阶段和运行阶段;所述配置阶段为利用脉冲目标搜索算法预先为每个计算核心的每个神经元计算其对应的各个脉冲目标,即应该接收该神经元所发放脉冲的下游树突或神经元,从而建立每个神经元与其对应的各个脉冲目标的直接联系;所述运行阶段为利用配置阶段计算好的各个神经元与其对应脉冲目标的直接联系,将每个神经元所发放的各个脉冲直接发送到对应的各个脉冲目标。
[0008]进一步地,所述仿真方法对多个核心进行仿真,每个核心具有数字存储空间和计算功能,不同核心不共享存储空间,核心间以脉冲的形式传递信息,每个核心所发送的脉冲只能直接到达与该核心之间的距离小于给定上限的核心;所述核心包括计算核心和中继核心;计算核心执行神经元和突触的计算过程,中继核心将其接收到的脉冲发送到计算核心或其他中继核心;
[0009]所述计算核心包括一个或多个脉冲目标;所述脉冲目标包括一个或多个神经元和一个或多个树突;所述神经元有且只有一个轴突;所述轴突包括一个或多个轴突末端;所述中继核心包括一个或多个脉冲中继;所述脉冲中继包括一个或多个中继目标;
[0010]每个轴突末端指定一个接收该轴突对应神经元所发放脉冲的下一级脉冲目标或脉冲中继,下一级脉冲目标在当前轴突所在计算核心或另一个计算核心上,脉冲中继的每个中继目标指定一个接收由该脉冲中继所中继脉冲的下一级脉冲目标或脉冲中继;由此,同一脉冲神经网络对应的所有轴突及其轴突末端、脉冲中继及其中继目标和脉冲目标构成一张有向无环的中继图。
[0011]进一步地,所述脉冲目标搜索算法包括如下步骤:
[0012](1)获取各个计算核心上的各个轴突和各个中继核心上的各个脉冲中继;
[0013](2)将各个计算核心上的每个神经元的脉冲目标集合初始化为空集;
[0014](3)对各个计算核心上的每个轴突,将当前轴突的已遍历集合初始化为空集。
[0015](4)对当前轴突未被遍历的每个轴突末端,检查当前轴突末端所指定的脉冲目标或脉冲中继是否在当前轴突的已遍历集合中,若该脉冲目标或脉冲中继在当前轴突的已遍历集合中,则说明以当前轴突为起点的所有中继路径所组成的整体不符合树的约束,终止脉冲目标搜索算法并报告错误;否则将该脉冲目标或脉冲中继添加到当前轴突的已遍历集合,并检查当前轴突末端是否指定下一级脉冲目标,若当前轴突末端指定下一级脉冲目标,则将该脉冲目标添加到当前神经元的脉冲目标集合;若当前轴突末端指定下一级脉冲中继,则继续运行,处理该脉冲中继;
[0016](5)对当前脉冲中继未被遍历的每个中继目标,检查当前中继目标所指定的脉冲目标或脉冲中继是否在当前轴突的已遍历集合中,若该脉冲目标或脉冲中继在当前轴突的已遍历集合中,则说明以当前轴突为起点的所有中继路径所组成的整体不符合树的约束,终止脉冲目标搜索算法并报告错误;否则将该脉冲目标或脉冲中继添加到当前轴突的已遍历集合,并检查当前中继目标是否指定下一级脉冲目标,若当前中继目标指定下一级脉冲目标,则将该脉冲目标添加到当前神经元的脉冲目标集合;若当前中继目标指定下一级脉冲中继,则对该脉冲中继重复步骤(5),直至当前中继目标指定下一级脉冲目标;
[0017](6)在当前脉冲中继的每个中继目标均按照步骤(5)已被遍历后,当前脉冲中继下
游的所有脉冲目标和脉冲中继均已被遍历,返回上一级脉冲中继或轴突并继续遍历其未被遍历的其他中继目标或轴突末端;若返回的上一级是脉冲中继,则重复步骤(5)和步骤(6),遍历该脉冲中继的其余未被遍历的中继目标;若返回的上一级是轴突,则重复步骤(4)、步骤(5)和步骤(6),遍历该轴突的其余未被遍历的轴突末端;
[0018](7)重复步骤(3)、步骤(4)、步骤(5)和步骤(6),直至各个计算核心上的所有轴突及其下游的所有脉冲目标和脉冲中继均已被遍历。
[0019]进一步地,所述中继路径为中继图中从一个轴突到其下游的一个脉冲目标的路径;中继路径经过零至多个脉冲中继。
[0020]进一步地,所述树的约束为以同一轴突为起点的任意两条中继本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向脉冲中继的高性能脉冲发送仿真方法,其特征在于,所述仿真方法包括配置阶段和运行阶段;所述配置阶段为利用脉冲目标搜索算法预先为每个计算核心的每个神经元计算其对应的各个脉冲目标,即应该接收该神经元所发放脉冲的下游树突或神经元,从而建立每个神经元与其对应的各个脉冲目标的直接联系;所述运行阶段为利用配置阶段计算好的各个神经元与其对应脉冲目标的直接联系,将每个神经元所发放的各个脉冲直接发送到对应的各个脉冲目标。2.如权利要求1所述的一种面向脉冲中继的高性能脉冲发送仿真方法,其特征在于,所述仿真方法对多个核心进行仿真,每个核心具有数字存储空间和计算功能,不同核心不共享存储空间,核心间以脉冲的形式传递信息,每个核心所发送的脉冲只能直接到达与该核心之间的距离小于给定上限的核心;所述核心包括计算核心和中继核心;计算核心执行神经元和突触的计算过程,中继核心将其接收到的脉冲发送到计算核心或其他中继核心;所述计算核心包括一个或多个脉冲目标;所述脉冲目标包括一个或多个神经元和一个或多个树突;所述神经元有且只有一个轴突;所述轴突包括一个或多个轴突末端;所述中继核心包括一个或多个脉冲中继;所述脉冲中继包括一个或多个中继目标;每个轴突末端指定一个接收该轴突对应神经元所发放脉冲的下一级脉冲目标或脉冲中继,下一级脉冲目标在当前轴突所在计算核心或另一个计算核心上,脉冲中继的每个中继目标指定一个接收由该脉冲中继所中继脉冲的下一级脉冲目标或脉冲中继;由此,同一脉冲神经网络对应的所有轴突及其轴突末端、脉冲中继及其中继目标和脉冲目标构成一张有向无环的中继图。3.如权利要求1所述的一种面向脉冲中继的高性能脉冲发送仿真方法,其特征在于,所述脉冲目标搜索算法包括如下步骤:(1)获取各个计算核心上的各个轴突和各个中继核心上的各个脉冲中继;(2)将各个计算核心上的每个神经元的脉冲目标集合初始化为空集;(3)对各个计算核心上的每个轴突,将当前轴突的已遍历集合初始化为空集;(4)对当前轴突未被遍历的每个轴突末端,检查当前轴突末端所指定的脉冲目标或脉冲中继是否在当前轴突的已遍历集合中,若该脉冲目标或脉冲中继在当前轴突的已遍历集合中,则说明以当前轴突为起点的所有中继路径所组成的整体不符合树的约束,终止脉冲目标搜索算法并报告错误;否则将该脉冲目标或脉冲中继添加到当前轴突的已遍历集合,并检查当前轴突末端是否指定下一级脉冲目标,若当前轴突末端指定下一级脉冲目标,则将该脉冲目标添加到当前神经元的脉冲目标集合;若当前轴突末端指定下一级脉冲中继,则继续运行,处理该脉冲中继;(5)对当前脉冲中继未被遍历的每个中继目标,检查当前中继目标所指定的脉冲目标或脉冲中继是否在当前轴突的已遍历集合中,若该脉冲目标或脉冲中继在当前轴突的已遍历集合中,则说明以当前轴突为起点的所有中继路径所组成的整体不符合树的约束,终止脉冲目标搜索算法并报告错误;否则将该脉冲目标或脉冲中继添加到当前轴突的已遍历集合,并检查当前中继目标是否指定下一级脉冲目标,若...

【专利技术属性】
技术研发人员:章明孙世春金孝飞何煜坤马德潘纲
申请(专利权)人:浙江大学
类型:发明
国别省市:

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

1