System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于crossbar的神经拟态硬件模拟方法及系统技术方案_技高网

基于crossbar的神经拟态硬件模拟方法及系统技术方案

技术编号:45058537 阅读:6 留言:0更新日期:2025-04-22 17:41
本发明专利技术提供了一种基于crossbar的神经拟态硬件模拟方法及系统,所述神经拟态硬件,包括:模拟器;步骤S1:加载配置文件与网络文件,获取初始化参数;步骤S2:根据所述初始化参数,初始化模拟器的芯片模块与神经元集合模块;步骤S3:启动仿真,令所述神经元集合模块接收脉冲信号,并且根据所述脉冲信号执行运算,得到运算结果;步骤S4:根据所述运算结果的脉冲计数,判断仿真是否结束,结果为是,则执行步骤S5;结果为否,则不处理;步骤S5:令所述芯片模块,整合所有所述运算结果,生成报告文件。本发明专利技术解决了当前模拟器在精度、性能和灵活性方面的局限性的问题,提供了更稳定和高效的仿真支持。

【技术实现步骤摘要】

本专利技术属于神经拟态芯片,具体地,涉及基于crossbar的神经拟态硬件模拟方法及系统。更具体是基于crossbar的神经拟态硬件模拟器的设计与实现。


技术介绍

1、神经拟态计算,即neuromorphic computing,作为一种模仿人脑神经网络运行机制的计算方式,近年来在深度学习、人工智能以及大规模并行计算领域得到了广泛应用。神经拟态计算通过模拟神经元之间的脉冲传递和突触权重调整,能够高效处理复杂的计算任务。然而,随着神经拟态计算规模的不断扩大,传统的计算架构,特别是基于gpu的并行计算,逐渐暴露出其在处理神经拟态计算时的局限性。gpu的高并行性主要依赖于同步的计算单元,而神经拟态计算则需要处理大量异步的神经元活动。

2、神经拟态计算的这种特点导致了gpu在执行这些任务时,常常无法充分利用其硬件资源,出现性能瓶颈,尤其是在能耗和延迟方面表现不佳。基于crossbar架构的神经拟态芯片则为解决这一问题提供了新的可能性。crossbar架构通过将神经元和突触直接映射到物理硬件,实现了真正的大规模并行计算。

3、在一个典型的crossbar阵列中,成千上万的神经元和突触能够在同一时间步内同时执行计算操作,极大提升了计算效率。例如,memristor-based crossbar架构可以直接在电路中执行矩阵乘法和累加操作,通过输入电压转化为输出电流来完成神经网络的计算。这种直接的硬件计算方式不仅减少了数据传输需求,还显著降低了能耗。相比之下,传统gpu需要频繁在存储器和计算单元之间传输数据,导致较高的能量损耗。

4、随着神经拟态计算的快速发展,模拟器的需求日益增长,以应对复杂的神经网络结构和大规模计算任务。目前,已有一些神经拟态芯片模拟器的解决方案被提出。已有的成熟解决方案可以分为两类:第一类是通过领域特定语言来简化神经元模型的创建,如nest引入的nestml语言。nestml提供了一种全面且简洁的语言,帮助研究人员准确描述复杂的生物神经系统模型,并将其用于nest模拟器。然而,这种方法的缺陷在于,研究人员需要首先学习nestml语言,增加了开发和模型描述的学习成本,阻碍了其在非编程背景下研究人员中的普及。

5、第二类是通过硬件加速来提升仿真性能,例如neuroflow平台。neuroflow利用可编程逻辑门阵列,即fpga等定制化硬件处理器,实现高性能计算,并通过灵活调整并行度来适应不同的仿真需求。然而,使用这种方案的缺点在于,开发者需要具备深入的硬件编程知识,才能有效地重新设计和配置处理器架构。此外,依赖定制化硬件还带来了兼容性和灵活性的问题,使得这种解决方案难以广泛应用于多种硬件平台。

6、除此以外,类似brian 2和pimcomp等模拟器也存在各自的局限性。

7、brian 2通过运行时代码生成的方式简化了神经网络模型的描述和模拟过程,但其生成的代码在处理高性能需求的任务时,仍可能无法达到预期的效率;pimcomp则专注于深度神经网络的加速,虽然其crossbar结构适合处理稀疏矩阵运算,但在面对更广泛的脉冲神经网络应用时,仍有待优化以应对其特有的计算需求和架构特点。

8、专利文献cn114968186a公开了一种面向通用神经网络张量处理器的统一编程方法,该方案包括:基于开发软件的开发步骤,基于开发软件的验证步骤,基于硬件虚拟软件的验证步骤和基于硬件的部署;其中,所述开发软件,是指用于完成神经网络算法训练的软件,所述硬件虚拟软件是指用于模拟神经网络算法所运行硬件行为的软件,所述硬件是指用于执行神经网络算法的硬件。该方案提高了神经网络嵌入式部署的易用性,然而并未解决当前模拟器在精度、性能和灵活性方面的局限性的问题。此问题亟需解决。


技术实现思路

1、针对现有技术中的缺陷,本专利技术的目的是提供一种基于crossbar的神经拟态硬件模拟方法及系统。

2、根据本专利技术提供的一种基于crossbar的神经拟态硬件模拟方法,所述神经拟态硬件,包括:模拟器;所述模拟器包括芯片模块与神经元集合模块;所述芯片模块用于管理并且协调模拟器的管理所有核心、内存与片上网络通信;所述神经元集合模块用于执行仿真任务;

3、所述基于crossbar的神经拟态硬件模拟方法,基于所述神经拟态硬件得以实现,包括:

4、步骤s1:加载配置文件与网络文件,获取初始化参数;

5、步骤s2:根据所述初始化参数,初始化模拟器的芯片模块与神经元集合模块;

6、步骤s3:启动仿真,令所述神经元集合模块接收脉冲信号,并且根据所述脉冲信号执行运算,得到运算结果;

7、步骤s4:根据所述运算结果的脉冲计数,判断仿真是否结束,结果为是,则执行步骤s5;结果为否,则不处理;

8、步骤s5:令所述芯片模块,整合所有所述运算结果,生成报告文件。

9、优选地,所述神经拟态硬件的模拟器,还包括核心模块;所述核心模块用于管理芯片的计算与存储任务;所述核心模块的核心实例化时,创建crossbar模块;所述crossbar模块用于处理与传输神经元之间的脉冲信号;

10、在所述步骤s1中,所述初始化参数,包括:神经元数量、神经元id、突触信息、神经元连接矩阵与仿真参数;所述仿真参数,包括仿真时长;所述突触信息,包括突触数量;

11、在所述步骤s1中,基于所述初始化参数的神经元id与突触信息,生成全局路由表;

12、在所述步骤s2中,初始化模拟器的crossbar模块,并且创建监控器;所述监控器用于检查所述核心模块的核心的状态;

13、在所述步骤s2中,初始化所述神经元集合模块的神经元的膜电位。

14、优选地,在所述步骤s3中,包括:

15、步骤s3.1:令crossbar模块,根据所述全局路由表,将脉冲信号发送给目标的神经元;

16、步骤s3.2:令所述神经元集合模块根据脉冲信号,更新所述神经元的模电位,进而累计脉冲值,得到计算结果;

17、步骤s3.3:令所述核心模块整合所有所述计算结果,得到运算结果。

18、优选地,在所述步骤s4中,设置检查周期,根据所述检查周期,令所述核心模块通过所述监视器,检查并且判断上个周期的脉冲计数是否等于当前周期的脉冲计数,结果为是,则记录并且输出仿真结果;结果为否,则重新进行检测。

19、优选地,在所述步骤s5中,所述报告文件,包括:所述配置文件的路径、核心数量、神经元的数量、仿真信息、能耗统计数据与每个所述核心的运行数据;所述能耗统计数据,由所述crossbar模块根据所述全局路由表进行模拟与统计;

20、在所述步骤s3中,设置脉冲累计阈值,判断当前所述脉冲值是否大于所述脉冲累计阈值,结果为是,则脉冲发放,清空神经元的膜电位;结果为否,则不处理。

21、根据本专利技术提供的一种基于crossbar的神经拟态硬件模拟系统,所述神经拟本文档来自技高网...

【技术保护点】

1.一种基于crossbar的神经拟态硬件模拟方法,其特征在于,所述神经拟态硬件,包括:模拟器;所述模拟器包括芯片模块与神经元集合模块;所述芯片模块用于管理并且协调模拟器的管理所有核心、内存与片上网络通信;所述神经元集合模块用于执行仿真任务;

2.根据权利要求1所述的基于crossbar的神经拟态硬件模拟方法,其特征在于,所述神经拟态硬件的模拟器,还包括核心模块;所述核心模块用于管理芯片的计算与存储任务;所述核心模块的核心实例化时,创建crossbar模块;所述crossbar模块用于处理与传输神经元之间的脉冲信号;

3.根据权利要求2所述的基于crossbar的神经拟态硬件模拟方法,其特征在于,在所述步骤S3中,包括:

4.根据权利要求2所述的基于crossbar的神经拟态硬件模拟方法,其特征在于,在所述步骤S4中,设置检查周期,根据所述检查周期,令所述核心模块通过所述监视器,检查并且判断上个周期的脉冲计数是否等于当前周期的脉冲计数,结果为是,则记录并且输出仿真结果;结果为否,则重新进行检测。

5.根据权利要求3所述的基于crossbar的神经拟态硬件模拟方法,其特征在于,在所述步骤S5中,所述报告文件,包括:所述配置文件的路径、核心数量、神经元的数量、仿真信息、能耗统计数据与每个所述核心的运行数据;所述能耗统计数据,由所述crossbar模块根据所述全局路由表进行模拟与统计;

6.一种基于crossbar的神经拟态硬件模拟系统,其特征在于,所述神经拟态硬件,包括:模拟器;所述模拟器包括芯片模块与神经元集合模块;所述芯片模块用于管理并且协调模拟器的管理所有核心、内存与片上网络通信;所述神经元集合模块用于执行仿真任务;

7.根据权利要求6所述的基于crossbar的神经拟态硬件模拟系统,其特征在于,所述神经拟态硬件的模拟器,还包括核心模块;所述核心模块用于管理芯片的计算与存储任务;所述核心模块的核心实例化时,创建crossbar模块;所述crossbar模块用于处理与传输神经元之间的脉冲信号;

8.根据权利要求7所述的基于crossbar的神经拟态硬件模拟系统,其特征在于,在所述模块M3中,包括:

9.根据权利要求7所述的基于crossbar的神经拟态硬件模拟系统,其特征在于,在所述模块M4中,设置检查周期,根据所述检查周期,令所述核心模块通过所述监视器,检查并且判断上个周期的脉冲计数是否等于当前周期的脉冲计数,结果为是,则记录并且输出仿真结果;结果为否,则重新进行检测。

10.根据权利要求8所述的基于crossbar的神经拟态硬件模拟系统,其特征在于,在所述模块M5中,所述报告文件,包括:所述配置文件的路径、核心数量、神经元的数量、仿真信息、能耗统计数据与每个所述核心的运行数据;所述能耗统计数据,由所述crossbar模块根据所述全局路由表进行模拟与统计;

...

【技术特征摘要】

1.一种基于crossbar的神经拟态硬件模拟方法,其特征在于,所述神经拟态硬件,包括:模拟器;所述模拟器包括芯片模块与神经元集合模块;所述芯片模块用于管理并且协调模拟器的管理所有核心、内存与片上网络通信;所述神经元集合模块用于执行仿真任务;

2.根据权利要求1所述的基于crossbar的神经拟态硬件模拟方法,其特征在于,所述神经拟态硬件的模拟器,还包括核心模块;所述核心模块用于管理芯片的计算与存储任务;所述核心模块的核心实例化时,创建crossbar模块;所述crossbar模块用于处理与传输神经元之间的脉冲信号;

3.根据权利要求2所述的基于crossbar的神经拟态硬件模拟方法,其特征在于,在所述步骤s3中,包括:

4.根据权利要求2所述的基于crossbar的神经拟态硬件模拟方法,其特征在于,在所述步骤s4中,设置检查周期,根据所述检查周期,令所述核心模块通过所述监视器,检查并且判断上个周期的脉冲计数是否等于当前周期的脉冲计数,结果为是,则记录并且输出仿真结果;结果为否,则重新进行检测。

5.根据权利要求3所述的基于crossbar的神经拟态硬件模拟方法,其特征在于,在所述步骤s5中,所述报告文件,包括:所述配置文件的路径、核心数量、神经元的数量、仿真信息、能耗统计数据与每个所述核心的运行数据;所述能耗统计数据,由所述crossbar模块根据所述全局路由表进行模拟与统计;

...

【专利技术属性】
技术研发人员:姚建国李玥管海兵
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1