一种神经拟态芯片多任务调度的片上网络碎片整理方法

文档序号:34161293发布日期:2023-05-14 20:18阅读:57来源:国知局
一种神经拟态芯片多任务调度的片上网络碎片整理方法

本发明属于神经拟态芯片领域,尤其是涉及一种神经拟态芯片多任务调度的片上网络碎片整理方法。


背景技术:

1、神经网络被认为是当前人工智能发展的主要驱动力,而近年来,起源于脑科学的脉冲神经网络以其丰富的时空领域的神经动力学特性、多样的编码机制、事件驱动的优势引起了学者的关注。

2、如公开号为cn110909869a的中国专利文献公开了一种基于脉冲神经网络的类脑计算芯片;公开号为cn115392445a的中国专利文献公开了一种脉冲神经网络芯片架构、芯片及系统。

3、采取高密度片上网络硬件实现的脉冲神经网络加速芯片,采取了可扩展架构,许多计算核和芯片同时工作,通过一个路由网络交换中间结果数据。整个系统通常没有统一的外部存储器,而是每个计算核有自己独立的存储空间,呈现去中心化的运行模式,从而具有极高的并行性和访存效率。

4、然而,这就导致片上网络不同核心间的信息通信成为了性能瓶颈之一。因此,将脉冲神经网络高效地加载到神经形态芯片上,特别是高效地加载多个网络到同一块芯片上就成为了提高芯片利用率和提高学习推理性能的重要手段,也是目前亟需解决的问题。


技术实现思路

1、本发明提供了一种神经拟态芯片多任务调度的片上网络碎片整理方法,有效提高了片上网络核心的利用率,进而提高了芯片计算效率,减少了任务平均功耗。

2、一种神经拟态芯片多任务调度的片上网络碎片整理方法,包括以下过程:

3、(1)在将脉冲神经网络任务分配到片上网络时,获取任务的相关配置,包括每个任务的脉冲神经网络分割成簇后的图结构、按图边预估通信负荷生成的权重、任务预估在片上需要执行的次数;

4、(2)多个任务在片上网络执行时,对于每一个任务,记录按照当前使用核心配置继续执行时剩余的预估执行次数乘以当前配置下当前任务的通信消耗,记为该任务预计的总通信消耗;

5、(3)使用启发式的带回溯的随机爬坡算法从线性变换和碎片整理两种类型的动作中随机选择以重新安排片上网络当前任务对应的核心配置,使得最终所有任务的总通信消耗减小;

6、(4)每当有任务执行完成并释放其使用的核心时,执行步骤(2)~(3),直到所有片上任务执行完毕;

7、同时,维护一个最久未使用的任务列表,当一个任务被用户调用了,则将其编号插入到列表头部;每当有新任务加入时,如果空闲核心数量不足,则依次卸载最久未使用的任务,直到有足够空闲核心以加载新任务,此时同样按步骤(2)~(3)来加载新任务。

8、本发明将脉冲神经网络映射到片上网络的多个核心中去,并在旧任务结束和新任务创建时重新安排核心映射;以通信代价和核心占用率为映射收益,并以启发式的带回溯的随机爬坡算法逐步寻找更佳的映射位置,并评估实际应用该映射节约的时间是否足够弥补在片上网络设置该映射需要的时间,以最后确认是否使用映射。

9、步骤(1)中,图结构以邻接表形式存储,其中权重根据该边连接的两个节点在数据集上推理时产生的通信流量作为数据集,任务预估在片上需要执行的次数由用户指定数量级。

10、步骤(2)中,通信消耗由边的权重w乘以这条边连接的两个核心间的曼哈顿距离得到,每个任务预计的总通信消耗为:

11、

12、其中,costj表示第j个任务在其生命周期内预计的总通信消耗;begincorei和endcorei是第i条边的两个顶点核心;nleft=n-ndone是预估的执行次数n减去完成的执行次数ndone,即剩余的预估执行次数。

13、步骤(3)中,使用启发式的带回溯的随机爬坡算法过程中,包含线性变换、碎片整理和回溯到之前记录的状态这三个动作类型;其中,线性变换是将任务所映射的核心在片上网络上进行随机平移、旋转、镜像动作;碎片整理是设当前有n个任务,进行n次尝试,其中第i次尝试仅考虑占用核心数量最小的前i个任务,对它们进行核心的重新映射;

14、对于上述三个动作类型,都在原有状态的基础上尝试多次,计算执行上述动作类型后所有任务的总通信消耗totalcost,并且从减少通信消耗的所有动作中随机选择动作执行,其概率由通信消耗减少的程度决定,减少的越多选中的概率越高;并把旧状态记录以便之后的回溯;

15、重复执行上述动作直到所有任务的总通信消耗收敛或执行次数超过用户指定的次数。

16、进一步地,三个动作类型中,线性变换和碎片整理在进行随机生成时,计算所有已占用核心的几何中心位置,并且按用户指定的参数提高生成动作时生成向该位置移动的动作的概率。

17、进一步地,三个动作类型中,回溯到之前记录的状态时,如果之前保存的记录中存在已经完成或者暂时卸载了的任务,则对应使用的核心也设置为未占用,再考虑进一步生成动作。

18、进一步地,回溯到之前记录的状态时,由一个栈存储之前的所有旧状态,以便回溯动作在任何情况下都可进行。

19、进一步地,步骤(4)中,任务列表由队列实现,并且为每一个任务分配一个唯一的自增id。

20、与现有技术相比,本发明具有以下有益效果:

21、本发明可以充分调度和提高片上网络的利用率,实现减少片上网络的脉冲包通信开销,提高运行任务的数量,提高神经元核心的利用率,减低芯片上每任务的功耗。



技术特征:

1.一种神经拟态芯片多任务调度的片上网络碎片整理方法,其特征在于,包括以下过程:

2.根据权利要求1所述的神经拟态芯片多任务调度的片上网络碎片整理方法,其特征在于,步骤(1)中,图结构以邻接表形式存储,其中权重根据该边连接的两个节点在数据集上推理时产生的通信流量作为数据集,任务预估在片上需要执行的次数由用户指定数量级。

3.根据权利要求1所述的神经拟态芯片多任务调度的片上网络碎片整理方法,其特征在于,步骤(2)中,通信消耗由边的权重w乘以这条边连接的两个核心间的曼哈顿距离得到,每个任务预计的总通信消耗为:

4.根据权利要求1所述的神经拟态芯片多任务调度的片上网络碎片整理方法,其特征在于,步骤(3)中,使用启发式的带回溯的随机爬坡算法过程中,包含线性变换、碎片整理和回溯到之前记录的状态这三个动作类型;其中,线性变换是将任务所映射的核心在片上网络上进行随机平移、旋转、镜像动作;碎片整理是设当前有n个任务,进行n次尝试,其中第i次尝试仅考虑占用核心数量最小的前i个任务,对它们进行核心的重新映射;

5.根据权利要求4所述的神经拟态芯片多任务调度的片上网络碎片整理方法,其特征在于,三个动作类型中,线性变换和碎片整理在进行随机生成时,计算所有已占用核心的几何中心位置,并且按用户指定的参数提高生成动作时生成向该位置移动的动作的概率。

6.根据权利要求4所述的神经拟态芯片多任务调度的片上网络碎片整理方法,其特征在于,三个动作类型中,回溯到之前记录的状态时,如果之前保存的记录中存在已经完成或者暂时卸载了的任务,则对应使用的核心也设置为未占用,再考虑进一步生成动作。

7.根据权利要求6所述的神经拟态芯片多任务调度的片上网络碎片整理方法,其特征在于,回溯到之前记录的状态时,由一个栈存储之前的所有旧状态,以便回溯动作在任何情况下都可进行。

8.根据权利要求1所述的神经拟态芯片多任务调度的片上网络碎片整理方法,其特征在于,步骤(4)中,任务列表由队列实现,并且为每一个任务分配一个唯一的自增id。


技术总结
本发明公开了一种神经拟态芯片多任务调度的片上网络碎片整理方法,包括:获取多个脉冲神经网络任务的相关结构和配置,将脉冲神经网络映射到片上网络的多个核心中去,并在旧任务结束和新任务创建时重新安排核心映射;以通信代价和核心占用率为映射收益,并以启发式的带回溯的随机爬坡算法逐步寻找更佳的映射位置,并评估实际应用该映射节约的时间是否足够弥补在片上网络设置该映射需要的时间,以最后确认是否使用映射。本发明的方法有效提高了片上网络核心的利用率,进而提高了芯片计算效率和任务平均功耗。

技术研发人员:李莹,周博文,何煜坤,邓水光,潘纲
受保护的技术使用者:浙江大学
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1