CN115168281A - 一种基于禁忌搜索算法的神经网络片上映射方法和装置 - Google Patents

一种基于禁忌搜索算法的神经网络片上映射方法和装置 Download PDF

Info

Publication number
CN115168281A
CN115168281A CN202211098597.9A CN202211098597A CN115168281A CN 115168281 A CN115168281 A CN 115168281A CN 202211098597 A CN202211098597 A CN 202211098597A CN 115168281 A CN115168281 A CN 115168281A
Authority
CN
China
Prior art keywords
neuron
chip
core
neural network
network
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.)
Granted
Application number
CN202211098597.9A
Other languages
English (en)
Other versions
CN115168281B (zh
Inventor
何煜坤
马德
李莹
孙世春
章明
金孝飞
陆启明
朱国权
凡军海
杨方超
吕攀
邓水光
潘纲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Zhejiang Lab
Original Assignee
Zhejiang University ZJU
Zhejiang Lab
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang University ZJU, Zhejiang Lab filed Critical Zhejiang University ZJU
Priority to CN202211098597.9A priority Critical patent/CN115168281B/zh
Publication of CN115168281A publication Critical patent/CN115168281A/zh
Application granted granted Critical
Publication of CN115168281B publication Critical patent/CN115168281B/zh
Priority to PCT/CN2023/110115 priority patent/WO2024051388A1/zh
Priority to EP23790535.1A priority patent/EP4375844A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机高性能计算领域,尤其涉及一种基于禁忌搜索算法的神经网络片上映射方法和装置,该方法构造禁忌搜索表并使用基于启发式的迭代搜索过程,选取局部的片上网络的计算核心作为候选对象,建立整数规划模型并求解最优解,循环迭代不断降低映射解的目标代价函数,最后获得近似最优的部署方案;本发明方法给出的基于最近邻的构造策略和禁忌搜索算法的搜索策略,降低了神经网络模型映射后的目标机器的整体功耗和通信距离总和,极大提高了数据在片上网络的传输效率及整体计算速度。

Description

一种基于禁忌搜索算法的神经网络片上映射方法和装置
技术领域
本发明涉及计算机高性能计算领域,尤其涉及一种基于禁忌搜索算法的神经网络片上映射方法和装置。
背景技术
脉冲神经网络的模型结构复杂,成百上千万的神经元间通过突触互联,利用发放脉冲的方式实现信息传递,共同完成。脉冲可被抽象为类似网络通信的数据包,由于神经元行为的区别以及模型支持的任务种类不同,神经元间脉冲收发的频率也大相径庭,某些神经元及相连的突触保存了更多的任务求解信息,更加频繁地发放脉冲,因此也产生了更密集的通信代价。
随着芯片规模的不但增大,支持复杂计算的同构计算核心阵列的大小也逐渐扩大。支持脉冲神经网络的大规模计算核心阵列通过使用片上网络内置的路由算法进行核心间的信息通信,通信的代价直接和相关核心间的距离正相关。因此在分配不同核心的计算任务时,相互间通信密集的计算任务被认为相关度更高,更倾向于被分配在距离更近的核心上。
Intel公司针对脉冲神经网络以及其公司独立研发的Loihi多核加速芯片,设计了解决分配映射问题的编译器LCompiler。Loihi架构包含多个核心,均具有独立的计算和存储功能,所有核心通过片上网络实现互联,可互相发放接收数据包,实现等价与脉冲神经网络的神经元间脉冲发放。LCompiler支持对网络完成分割和重分配,映射至Loihi的计算核心上,通过降低输入映射效率比指标,降低分割产生的冗余带宽,同时根据已分配部分的最大扇出决定映射目标核心位置。
然而,基于贪心算法的映射优化方法并没有充分考虑神经网络的全局连接关系。复杂神经网络的内部可能具有高比例的不规则稀疏连接,并且不同神经元间的通信密度不同,对总代价函数的贡献不同,该算法仅考虑了边的连接关系,无法结合动态的脉冲收发频率进行映射优化,所获得的编译结果的计算效率和能耗都存在较大的浪费。因此亟需设计提供一种改进的片上网络核心映射算法。
发明内容
为了解决现有技术中存在的上述技术问题,本发明提出了一种基于禁忌搜索算法的神经网络片上映射方法和装置,通过禁忌搜索和局部整数规划求解,对全局代价函数进行优化,避免搜索过程陷入局部最优,其具体技术方案如下:
一种基于禁忌搜索算法的神经网络片上映射方法,包括以下步骤:
步骤一:获取待部署的脉冲神经网络的拓扑结构和参数信息,以及目标机器片上网络计算核心的约束信息;
步骤二:将脉冲神经网络转换为有向无环图,并根据图中的拓扑排序确定待分配的神经元序列;
步骤三:在片上网络,从预先规定的起始计算核心开始,将神经元序列按簇为单位依次分配,使用最近邻算法逐一映射放置于片上网络的计算核心上,以构造映射初始解;
步骤四:定义并初始化禁忌搜索表和计时器,计算所有计算核心的代价函数,并根据代价函数构选候选计算核心,构建候选集;
步骤五:对所选取构建的候选集建立整数规划模型并求得最优解,根据最优解调换每个神经元群的核心位置,完成局部搜索优化;
步骤六:迭代计时器,检查并更新禁忌搜索表,不断迭代重复步骤四至步骤六直至到达迭代上限,最终输出神经元群到计算核心的映射结果,完成映射。
进一步的,所述步骤一中,脉冲神经网络包含了突触和以神经元群为节点的连接结构,神经元群中包含了若干神经元,所使用的拓扑结构是一种由节点和边表示的图数据结构或者是包含了尺寸形状信息的网络结构,同时提供神经元行为参数及突触连接中的连接参数;
所述计算核心为包括存储空间和计算功能的硬件单元,获取计算核心的存储空间大小,片上网络上的二维空间位置坐标,以及计算核心间的连接关系。
进一步的,所述步骤二具体为:
对以神经元群为节点,突触连接为边所表示的计算图进行转换,依据脉冲神经网络的模型输入节点为源,模型输出节点为目标,突触连接的方向为有向边构造完整的有向无环图DAG,称为网络DAG;
然后对所述有向无环图使用拓扑排序方法确定神经元群的顺序,所述拓扑排序方法为:统计有向无环图中所有节点入度并维护一个以节点入度升序排序的优先队列,弹出优先队列中的下一个节点,并将有向无环图中该节点为输出的边依次删除,更新优先队列中剩余节点的入度,重复该步骤直到优先队列为空;
最后,根据神经元群节点从优先队列弹出的先后顺序即被标记为所对应的拓扑排序,该拓扑排序的序号即为神经元群内所有神经元的序号。
进一步的,所述步骤三具体为:根据获取的片上网络的二维网格信息,从预先规定的起始的计算核心开始分配,若未做规定则以二维网格的左上角计算核心为起始核心;
将神经元序列按簇为单位,依据拓扑序号依次分配至计算核心,统计当前神经元群与片上已分配神经元群之间的突触连接数量,依次尝试使用片上网络所有可用的未被分配的计算核心资源,分别计算局部的代价函数,并使用最近邻算法选取代价函数最小的片上网络的计算核心作为下一个分配的目标核心;
其中,在开始分配一个神经元群内的所有神经元前,由于均具有相同的拓扑序号,则对所有神经元节点入度进行统计,依据神经元节点入度从大到小依次分配,分配直至当前计算核心的存储空间充满,或者该神经元群的所有神经元全部分配完毕;若仍有剩余神经元未分配,则将其归为一个新的神经元群并进行分配;当所有神经元均被分配完毕后,返回神经元序号和计算核心的对应关系,作为完成构造的映射初始解;
同时每个计算核心内的所有神经元重新构成了一个新的神经元群,并生成一个以该神经元群为节点新的DAG,称为物理DAG。
进一步的,所述步骤四具体包括:
步骤4.1,设共有
Figure 100002_DEST_PATH_IMAGE002
个神经元群经过步骤三的映射放置,总共有
Figure 100002_DEST_PATH_IMAGE004
个可使用被分配的片上网络计算核心,
Figure 100002_DEST_PATH_IMAGE006
,且均为正整数;
步骤4.2,初始化一个长度为
Figure 762203DEST_PATH_IMAGE002
的一维禁忌搜索表
Figure 100002_DEST_PATH_IMAGE008
,初始值均为0,初始化禁忌时间窗口常数
Figure 100002_DEST_PATH_IMAGE010
,典型值为区间
Figure 100002_DEST_PATH_IMAGE012
内的整数,以及一个计时器
Figure 100002_DEST_PATH_IMAGE014
,初始值为0;
对于第
Figure 100002_DEST_PATH_IMAGE016
个神经元群,
Figure 100002_DEST_PATH_IMAGE018
,定义禁忌搜索表中的禁忌时刻
Figure 100002_DEST_PATH_IMAGE020
,表示若当前时刻即当前的优化轮次
Figure 100002_DEST_PATH_IMAGE022
,该神经元群不允许被选入候选集,仅当
Figure 665962DEST_PATH_IMAGE014
时刻满足
Figure 100002_DEST_PATH_IMAGE024
时,该神经元群被选入候选集;当第
Figure 22863DEST_PATH_IMAGE016
个神经元群在
Figure 949230DEST_PATH_IMAGE014
时刻被选入候选集,则该神经元群在禁忌搜索表中时间将被更新为
Figure 100002_DEST_PATH_IMAGE026
步骤4.3,计算物理DAG中神经元群之间的代价函数,以及在片上网络的全局代价函数,采用基于无向图的广度优先搜索的选取方法或基于全局代价函数和Prim最小生成树算法的选取方法来搜索候选集。
进一步的,所述步骤4.3具体为:
所述的计算物理DAG中神经元群之间的代价函数即计算两个神经元群之间的脉冲包通信密度:从神经网络所使用的输入数据集中随机选取一个子集,并依次输入神经网络,统计神经元群
Figure 100002_DEST_PATH_IMAGE028
发放至神经元群
Figure 100002_DEST_PATH_IMAGE030
的脉冲包个数,该计数值即为对应通信密度,
Figure 100002_DEST_PATH_IMAGE032
可表示为神经元群
Figure 373390DEST_PATH_IMAGE028
和神经元群
Figure 727011DEST_PATH_IMAGE030
之间的通信密度;
所述的计算片上网络的全局代价函数即计算脉冲在片上网络上通信的总体代价:假设神经元群
Figure 525202DEST_PATH_IMAGE028
Figure 507458DEST_PATH_IMAGE030
, 所在的计算核心的编号分别为
Figure 100002_DEST_PATH_IMAGE034
Figure 100002_DEST_PATH_IMAGE036
,总体代价则为通信距离和通信密度的乘积,即:
Figure 100002_DEST_PATH_IMAGE038
Figure 100002_DEST_PATH_IMAGE040
表示计算核心
Figure 848441DEST_PATH_IMAGE034
Figure 372963DEST_PATH_IMAGE036
之间的曼哈顿距离;
所述基于无向图的广度优先搜索的选取方法为:将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为起点,使用广度优先搜索算法进行遍历,依次将访问的不在禁忌范围内的神经元群加入候选集,直至候选集中达到所需神经元群个数;
所述基于全局代价函数和Prim最小生成树算法的选取方法为:将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为端点,计算所有与之相连的神经元群的全局代价并进行排序,从中选择全局代价最大的神经元群加入候选集中,考察候选集中当前所有的神经元群可以访问的所有边,寻找不在候选集中的边全局代价最大的不在禁忌搜索表范围内的神经元群并再次加入候选集,重复该过程直至候选集中达到所需神经元群个数。
进一步的,所述步骤五中的建立整数规划模型具体为:
设候选集中有
Figure 100002_DEST_PATH_IMAGE042
个神经元群,其中的神经元群
Figure 392872DEST_PATH_IMAGE028
Figure 910310DEST_PATH_IMAGE030
, 所在的计算核心的编号分别为
Figure 964853DEST_PATH_IMAGE034
Figure 925856DEST_PATH_IMAGE036
,设0-1变量
Figure 100002_DEST_PATH_IMAGE044
为神经元群
Figure 246110DEST_PATH_IMAGE028
在计算核心
Figure 52392DEST_PATH_IMAGE034
上的存在状态,若
Figure 227021DEST_PATH_IMAGE044
为1则表示神经元群
Figure 93346DEST_PATH_IMAGE028
被映射在计算核心
Figure 556689DEST_PATH_IMAGE034
上,为0则表示未被映射上,建立整数规划模型,表达式为:
Figure 100002_DEST_PATH_IMAGE046
Figure 100002_DEST_PATH_IMAGE048
Figure 100002_DEST_PATH_IMAGE050
Figure 100002_DEST_PATH_IMAGE052
Figure 100002_DEST_PATH_IMAGE054
Figure 100002_DEST_PATH_IMAGE056
其中目标函数由两部分组成,
Figure 100002_DEST_PATH_IMAGE058
为K个神经元群及所在计算核心之间的总通信代价;
Figure 100002_DEST_PATH_IMAGE060
Figure 351949DEST_PATH_IMAGE042
个神经元群与不在候选集内的其他神经元群之间的总通信代价,所述不在候选集内的神经元群所映射的计算核心的位置均固定,因此该项仅保留
Figure 381085DEST_PATH_IMAGE044
其中约束条件
Figure 100002_DEST_PATH_IMAGE062
要求,对于每个计算核心,仅有一个神经元群被部署在上面;
约束条件
Figure 100002_DEST_PATH_IMAGE064
要求,对于每个神经元群,仅被部署在一个计算核心上。
进一步的,所述整数规划模型为0-1整数非线性规划的模型,使用扩展的割平面法求解获得最优解
Figure 201667DEST_PATH_IMAGE044
,查找神经元群
Figure 100002_DEST_PATH_IMAGE066
满足
Figure 100002_DEST_PATH_IMAGE068
获得所有
Figure 745781DEST_PATH_IMAGE042
个神经元群调换后的计算核心的位置。
一种基于禁忌搜索算法的神经网络片上映射装置,包括一个或多个处理器,用于实现所述的基于禁忌搜索算法的神经网络片上映射方法。
一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现所述的基于禁忌搜索算法的神经网络片上映射方法。
有益效果:
本发明方法给出的基于最近邻的构造策略和禁忌搜索算法的搜索策略,降低了神经网络模型映射后的目标机器的整体功耗和通信距离总和,极大提高了数据在片上网络的传输效率及整体计算速度。
附图说明
图1是本发明的一种基于禁忌搜索算法的神经网络片上映射方法整体流程示意图;
图2是本发明的一种基于禁忌搜索算法的神经网络片上映射方法的具体流程框架图;
图3是本发明施例的脉冲神经网络的网络层有向无环图和对应的物理层有向无环图;
图4是本发明实施例的使用最近邻算法构造映射初始解的示意图;
图5a是本发明实施例的不同时刻神经元群状态示意图;
图5b是本发明实施例的基于图5a中的神经元群完成禁忌搜索表构造和维护的示意图;
图6a是本发明的实施例中代价函数值所记录在的二维变量网格代价矩阵的定义示意图;
图6b是本发明的实施例中代价函数值所记录在的二维变量网络代价矩阵的定义示意图;
图7是本发明的实施例中根据选取候选集及对应定义的整数规划模型中的0-1变量矩阵示意图;
图8是本发明的实施例的一种基于禁忌搜索算法的神经网络片上映射装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图和实施例,对本发明作进一步详细说明。
如图1和图2所示,本发明的一种基于禁忌搜索算法的神经网络片上映射方法,构造禁忌搜索表并使用基于启发式的迭代搜索过程,选取局部核心作为候选对象,建立整数规划模型并求解最优解,循环迭代不断降低映射解的目标代价函数,最后获得近似最优的部署方案,具体包括以下步骤:
步骤一:获取待部署的脉冲神经网络的拓扑结构和参数信息,以及目标机器片上网络计算核心的约束信息。
具体的,所述脉冲神经网络包含了神经元群和突触连接结构,神经元群中包含了若干神经元,所使用的拓扑结构是一种由节点和边表示的图数据结构,或者是包含了尺寸形状信息的网络结构,同时提供神经元行为参数及突触连接中的连接参数构成。
获取目标机器片上网络的计算核心的约束信息,所述计算核心包括存储空间和计算功能的硬件单元,获取计算核心的存储空间大小,在片上网络上的二维空间位置坐标,以及计算核心间的连接关系。
步骤二:将脉冲神经网络转换为有向无环图,并根据图中的拓扑排序确定待分配的神经元序列。
具体的,如图3所示,对于以神经元群为节点,突触连接为边所表示的计算图进行转换,依据脉冲神经网络的模型输入节点为源,模型输出节点为目标,突触连接的方向为有向边构造完整的有向无环图(DAG),称为网络DAG。
然后对所述有向无环图使用拓扑排序方法确定神经元群的顺序,所述拓扑排序方法为:统计有向无环图中所有节点入度并维护一个以节点入度升序排序的优先队列,弹出优先队列中的下一个节点,并将有向无环图中该节点为输出的边依次删除,更新优先队列中剩余节点的入度,重复该步骤直到优先队列为空。
最后,根据神经元群节点从优先队列弹出的先后顺序即被标记为所对应的拓扑排序,该拓扑排序的序号也即神经元群内所有神经元的序号。
步骤三:在片上网络,从预先规定的起始计算核心开始,将神经元序列按簇为单位依次分配,使用最近邻算法逐一映射放置于片上网络的计算核心上构造映射初始解。
具体的,如图4所示,根据获取的片上网络的二维网格信息,从预先规定的起始的计算核心开始分配,若未做规定则默认以二维网格的左上角计算核心为起始核心。
将神经元序列按簇为单位,依据拓扑序号依次分配至当前核心,统计当前神经元群与片上已分配神经元群之间的突触连接数量,依次尝试使用片上网络所有可用的未被分配的计算核心资源,分别计算局部的代价函数,并使用最近邻算法选取代价函数最小的片上网络的计算核心作为下一个分配的目标核心。
其中,在开始分配一个神经元群内的所有神经元前,由于均具有相同的拓扑序号,需要对所有神经元节点入度进行统计,依据神经元节点入度从大到小依次分配,分配直至当前计算核心的存储空间充满,或者该神经元群的所有神经元全部分配完毕;若仍有剩余神经元未分配,则将其归为一个新的神经元群并以前述相同的步骤进行分配;当所有神经元均被分配完毕后,返回神经元序号和计算核心的对应关系,作为完成构造的映射初始解,并认为此时每个计算核心内的所有神经元重新构成了一个新的神经元群,并生成一个以该神经元群为节点新的DAG,称为物理DAG。
步骤四:定义并初始化禁忌搜索表和计时器,计算所有计算核心的代价函数,并根据代价函数构选取候选核心构建候选集。具体包括以下子步骤:
步骤4.1,假设在初始分配后一共有
Figure 910177DEST_PATH_IMAGE002
个神经元群,总共有
Figure 793819DEST_PATH_IMAGE004
个可使用的片上网络计算核心资源(包含被
Figure 267526DEST_PATH_IMAGE002
个神经元群占据的核心),从
Figure 236619DEST_PATH_IMAGE002
个神经元群中选取
Figure 703241DEST_PATH_IMAGE042
个神经元群称作候选集,作为优化算法的操作对象,
Figure 706969DEST_PATH_IMAGE042
Figure 351577DEST_PATH_IMAGE002
Figure 807966DEST_PATH_IMAGE004
,且均为正整数。
步骤4.2,初始化一个长度为
Figure 314165DEST_PATH_IMAGE002
的一维禁忌搜索表
Figure 110083DEST_PATH_IMAGE008
,初始值均为0,初始化禁忌时间窗口常数
Figure 925592DEST_PATH_IMAGE010
,典型值为区间
Figure 869277DEST_PATH_IMAGE012
内的整数,以及一个计时器
Figure 428435DEST_PATH_IMAGE014
,初始值为0;
对于第
Figure 393373DEST_PATH_IMAGE016
个神经元群,
Figure 114204DEST_PATH_IMAGE018
,定义禁忌搜索表中的禁忌时刻
Figure 545186DEST_PATH_IMAGE020
,表示若当前时刻即当前的优化轮次
Figure 908034DEST_PATH_IMAGE022
,该神经元群不允许被选入候选集,仅当
Figure 491593DEST_PATH_IMAGE014
时刻满足
Figure 383326DEST_PATH_IMAGE024
时,该神经元群被选入候选集;当第
Figure 301603DEST_PATH_IMAGE016
个神经元群在
Figure 202563DEST_PATH_IMAGE014
时刻被选入候选集,则该神经元群在禁忌搜索表中时间将被更新为
Figure 827579DEST_PATH_IMAGE026
,如图5a和图5b所示,在本实施例中,
Figure 405060DEST_PATH_IMAGE010
取值为2。
步骤4.3,计算物理DAG中神经元群之间的代价函数,以及在片上网络的全局代价函数,采用基于无向图的广度优先搜索的选取方法或基于全局代价函数和Prim最小生成树算法的选取方法来搜索候选集。具体如下:
如图6a所示,将片上网络计算核心按顺序编号,并将两两核心间在二维网格下的代价函数值记录在一个二维变量网格代价矩阵GCM(grid cost matrix)内,其中
Figure DEST_PATH_IMAGE070
表示编号
Figure 76213DEST_PATH_IMAGE016
的计算核心与编号
Figure DEST_PATH_IMAGE072
的计算核心之间的代价函数值。
如图6b所示,将片上网络计算核心内的神经元群也依次编号,并将两两神经元群之间的神经连接代价函数值记录在一个二维变量网络代价矩阵NCM(network costmatrix)内,其中
Figure DEST_PATH_IMAGE074
表示编号
Figure 593913DEST_PATH_IMAGE016
的计算核心内的神经元群与编号
Figure 401332DEST_PATH_IMAGE072
的计算核心内的神经元群之间的代价函数值。
片上网络路由算法采用GXY算法,
Figure 746119DEST_PATH_IMAGE070
可近似为两个核心之间的曼哈顿距离,即:
Figure DEST_PATH_IMAGE076
神经元群间代价函数的一种计算方法,为两个神经元之间的脉冲包通信密度,
Figure 107830DEST_PATH_IMAGE032
可表示为神经元群
Figure 101325DEST_PATH_IMAGE028
和神经元群
Figure 497672DEST_PATH_IMAGE030
之间的通信密度。
该通信密度的一种计算方法是,从神经网络所使用的输入数据集中随机选取一个子集,并依次输入神经网络,统计神经元群
Figure 167687DEST_PATH_IMAGE028
发放至神经元群
Figure 282274DEST_PATH_IMAGE030
的脉冲包个数,该计数值即为对应通信密度。注意,这里的神经元群为物理DAG中的概念,需查询原网络DAG中的等价神经元群并进行统计。
全局代价函数的一种计算方法,为计算脉冲在片上网络上通信的总体代价,假设神经元群
Figure 312416DEST_PATH_IMAGE028
Figure 156744DEST_PATH_IMAGE030
, 所在的计算核心的编号分别为
Figure 200923DEST_PATH_IMAGE034
Figure 553538DEST_PATH_IMAGE036
,总体代价则为通信距离和通信密度的乘积,即:
Figure 138103DEST_PATH_IMAGE038
提出两种神经元群候选集的选取方法来构建候选集:
基于无向图的广度优先搜索的选取方法;将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为起点,使用广度优先搜索算法进行遍历,依次将访问的不在禁忌范围内的神经元群加入候选集,直至候选集中有
Figure 509042DEST_PATH_IMAGE042
个神经元群,返回该候选集。
基于全局代价函数和Prim最小生成树算法的选取方法;将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为端点,计算所有与之相连的神经元群的全局代价并进行排序,从中选择全局代价最大的神经元群加入候选集中。考察候选集中当前所有的神经元群可以访问的所有边,寻找不在候选集中的边全局代价最大的不在禁忌范围内的神经元群并再次加入候选集。重复该过程直到候选集中有
Figure 520860DEST_PATH_IMAGE042
个神经元群,返回该候选集。
步骤五:对所选取构建的候选集建立整数规划模型并求得最优解,根据最优解调换每个神经元群的核心位置,完成局部搜索优化。
对获得的
Figure 850517DEST_PATH_IMAGE042
个神经元群和当前所在的
Figure 238773DEST_PATH_IMAGE042
个计算核心建立带约束的整数规划模型。如图7所示,设神经元群
Figure 464218DEST_PATH_IMAGE028
Figure 646938DEST_PATH_IMAGE030
, 所在的计算核心的编号分别为
Figure 974145DEST_PATH_IMAGE034
Figure 103775DEST_PATH_IMAGE036
,设0-1变量
Figure 980464DEST_PATH_IMAGE044
为神经元群
Figure 802927DEST_PATH_IMAGE028
在计算核心
Figure 601119DEST_PATH_IMAGE034
上的存在状态,若
Figure 580445DEST_PATH_IMAGE044
为1则表示神经元群
Figure 780482DEST_PATH_IMAGE028
被映射在计算核心
Figure 570583DEST_PATH_IMAGE034
上,为0则表示未被映射上。建立如下的整数规划模型:
Figure DEST_PATH_IMAGE046A
Figure DEST_PATH_IMAGE048A
Figure DEST_PATH_IMAGE050A
Figure DEST_PATH_IMAGE052A
Figure DEST_PATH_IMAGE054A
Figure DEST_PATH_IMAGE056A
其中目标函数由两部分组成,
Figure 921318DEST_PATH_IMAGE058
为K个神经元群及所在计算核心之间的总通信代价,
Figure 923909DEST_PATH_IMAGE060
Figure 244032DEST_PATH_IMAGE042
个神经元群与不在候选集内的其他神经元群之间的总通信代价,与
Figure 454302DEST_PATH_IMAGE042
个允许调整的神经元群位置对应的自由变量不同,对于所有其他不在候选集内的神经元群所映射的计算核心的位置在当前优化过程中均固定,因此该项仅保留
Figure 961507DEST_PATH_IMAGE044
其中约束条件
Figure 33368DEST_PATH_IMAGE062
要求,对于每个计算核心,仅有一个神经元群被部署在上面;约束条件
Figure 207998DEST_PATH_IMAGE064
要求,对于每个神经元群,仅被部署在一个计算核心上面。
所述整数规划模型为一个典型的0-1整数非线性规划的模型,使用扩展的割平面法等求解算法求解即可获得该模型的最优解
Figure 825055DEST_PATH_IMAGE044
。查找所有的
Figure 288397DEST_PATH_IMAGE066
满足
Figure 898370DEST_PATH_IMAGE068
即可获得所有K个神经元群互换后的位置,且新的神经元群位置对应的代价函数的值相对更低。由于神经网络模型的所有N个神经元群的总代价函数可分解为候选集和非候选集分别的代价函数之和,而非候选集之间由于没有改变位置,代价不变,因此总的代价函数由于候选集里神经元群的代价降低而得到优化降低。
步骤六:迭代计时器,按步骤4.2中所述方法检查并更新禁忌搜索表,不断迭代重复步骤四至步骤六直至到达迭代上限,最终输出神经元群到计算核心的映射结果,完成映射。
与前述基于禁忌搜索算法的神经网络片上映射方法的实施例相对应,本发明还提供了基于禁忌搜索算法的神经网络片上映射装置的实施例。
参见图8,本发明实施例提供的一种基于禁忌搜索算法的神经网络片上映射装置,包括一个或多个处理器,用于实现上述实施例中的基于禁忌搜索算法的神经网络片上映射方法。
本发明基于禁忌搜索算法的神经网络片上映射装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本发明基于禁忌搜索算法的神经网络片上映射装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图8所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于禁忌搜索算法的神经网络片上映射装置。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述,仅为本发明的优选实施案例,并非对本发明做任何形式上的限制。虽然前文对本发明的实施过程进行了详细说明,对于熟悉本领域的人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行同等替换。凡在本发明精神和原则之内所做修改、同等替换等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,包括以下步骤:
步骤一:获取待部署的脉冲神经网络的拓扑结构和参数信息,以及目标机器片上网络计算核心的约束信息;
步骤二:将脉冲神经网络转换为有向无环图,并根据图中的拓扑排序确定待分配的神经元序列;
步骤三:在片上网络,从预先规定的起始计算核心开始,将神经元序列按簇为单位依次分配,使用最近邻算法逐一映射放置于片上网络的计算核心上,以构造映射初始解;
步骤四:定义并初始化禁忌搜索表和计时器,计算所有计算核心的代价函数,并根据代价函数构选候选计算核心,构建候选集;
步骤五:对所选取构建的候选集建立整数规划模型并求得最优解,根据最优解调换每个神经元群的核心位置,完成局部搜索优化;
步骤六:迭代计时器,检查并更新禁忌搜索表,不断迭代重复步骤四至步骤六直至到达迭代上限,最终输出神经元群到计算核心的映射结果,完成映射。
2.如权利要求1所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤一中,脉冲神经网络包含了突触和以神经元群为节点的连接结构,神经元群中包含了若干神经元,所使用的拓扑结构是一种由节点和边表示的图数据结构或者是包含了尺寸形状信息的网络结构,同时提供神经元行为参数及突触连接中的连接参数;
所述计算核心为包括存储空间和计算功能的硬件单元,获取计算核心的存储空间大小,片上网络上的二维空间位置坐标,以及计算核心间的连接关系。
3.如权利要求2所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤二具体为:
对以神经元群为节点,突触连接为边所表示的计算图进行转换,依据脉冲神经网络的模型输入节点为源,模型输出节点为目标,突触连接的方向为有向边构造完整的有向无环图DAG,称为网络DAG;
然后对所述有向无环图使用拓扑排序方法确定神经元群的顺序,所述拓扑排序方法为:统计有向无环图中所有节点入度并维护一个以节点入度升序排序的优先队列,弹出优先队列中的下一个节点,并将有向无环图中该节点为输出的边依次删除,更新优先队列中剩余节点的入度,重复该步骤直到优先队列为空;
最后,根据神经元群节点从优先队列弹出的先后顺序即被标记为所对应的拓扑排序,该拓扑排序的序号即为神经元群内所有神经元的序号。
4.如权利要求3所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤三具体为:根据获取的片上网络的二维网格信息,从预先规定的起始的计算核心开始分配,若未做规定则以二维网格的左上角计算核心为起始核心;
将神经元序列按簇为单位,依据拓扑序号依次分配至计算核心,统计当前神经元群与片上已分配神经元群之间的突触连接数量,依次尝试使用片上网络所有可用的未被分配的计算核心资源,分别计算局部的代价函数,并使用最近邻算法选取代价函数最小的片上网络的计算核心作为下一个分配的目标核心;
其中,在开始分配一个神经元群内的所有神经元前,由于均具有相同的拓扑序号,则对所有神经元节点入度进行统计,依据神经元节点入度从大到小依次分配,分配直至当前计算核心的存储空间充满,或者该神经元群的所有神经元全部分配完毕;若仍有剩余神经元未分配,则将其归为一个新的神经元群并进行分配;当所有神经元均被分配完毕后,返回神经元序号和计算核心的对应关系,作为完成构造的映射初始解;
同时每个计算核心内的所有神经元重新构成了一个新的神经元群,并生成一个以该神经元群为节点新的DAG,称为物理DAG。
5.如权利要求4所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤四具体包括:
步骤4.1,设共有
Figure DEST_PATH_IMAGE002
个神经元群经过步骤三的映射放置,总共有
Figure DEST_PATH_IMAGE004
个可使用被分配的片上网络计算核心,
Figure DEST_PATH_IMAGE006
,且均为正整数;
步骤4.2,初始化一个长度为N的一维禁忌搜索表
Figure DEST_PATH_IMAGE008
,初始值均为0,初始化禁忌时间窗口常数
Figure DEST_PATH_IMAGE010
,典型值为区间
Figure DEST_PATH_IMAGE012
内的整数,以及一个计时器
Figure DEST_PATH_IMAGE014
,初始值为0;
对于第
Figure DEST_PATH_IMAGE016
个神经元群,
Figure DEST_PATH_IMAGE018
,定义禁忌搜索表中的禁忌时刻
Figure DEST_PATH_IMAGE020
,表示若当前时刻即当前的优化轮次
Figure DEST_PATH_IMAGE022
,该神经元群不允许被选入候选集,仅当
Figure 907700DEST_PATH_IMAGE014
时刻满足
Figure DEST_PATH_IMAGE024
时,该神经元群被选入候选集;当第
Figure 476085DEST_PATH_IMAGE016
个神经元群在
Figure 161144DEST_PATH_IMAGE014
时刻被选入候选集,则该神经元群在禁忌搜索表中时间将被更新为
Figure DEST_PATH_IMAGE026
步骤4.3,计算物理DAG中神经元群之间的代价函数,以及在片上网络的全局代价函数,采用基于无向图的广度优先搜索的选取方法或基于全局代价函数和Prim最小生成树算法的选取方法来搜索候选集。
6.如权利要求5所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤4.3具体为:
所述的计算物理DAG中神经元群之间的代价函数即计算两个神经元群之间的脉冲包通信密度:从神经网络所使用的输入数据集中随机选取一个子集,并依次输入神经网络,统计神经元群
Figure DEST_PATH_IMAGE028
发放至神经元群
Figure DEST_PATH_IMAGE030
的脉冲包个数,该计数值即为对应通信密度,
Figure DEST_PATH_IMAGE032
可表示为神经元群
Figure 30267DEST_PATH_IMAGE028
和神经元群
Figure 851593DEST_PATH_IMAGE030
之间的通信密度;
所述的计算片上网络的全局代价函数即计算脉冲在片上网络上通信的总体代价:假设神经元群
Figure 387616DEST_PATH_IMAGE028
Figure 294392DEST_PATH_IMAGE030
,所在的计算核心的编号分别为
Figure DEST_PATH_IMAGE034
Figure DEST_PATH_IMAGE036
,总体代价则为通信距离和通信密度的乘积,即:
Figure DEST_PATH_IMAGE038
Figure DEST_PATH_IMAGE040
表示计算核心
Figure 636381DEST_PATH_IMAGE034
Figure 702426DEST_PATH_IMAGE036
之间的曼哈顿距离;
所述基于无向图的广度优先搜索的选取方法为:将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为起点,使用广度优先搜索算法进行遍历,依次将访问的不在禁忌范围内的神经元群加入候选集,直至候选集中达到所需神经元群个数;
所述基于全局代价函数和Prim最小生成树算法的选取方法为:将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为端点,计算所有与之相连的神经元群的全局代价并进行排序,从中选择全局代价最大的神经元群加入候选集中,考察候选集中当前所有的神经元群可以访问的所有边,寻找不在候选集中的边全局代价最大的不在禁忌搜索表范围内的神经元群并再次加入候选集,重复该过程直至候选集中达到所需神经元群个数。
7.如权利要求6所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤五中的建立整数规划模型具体为:
设候选集中有
Figure DEST_PATH_IMAGE042
个神经元群,其中的神经元群
Figure 363346DEST_PATH_IMAGE028
Figure 757418DEST_PATH_IMAGE030
, 所在的计算核心的编号分别为
Figure 575201DEST_PATH_IMAGE034
Figure 636698DEST_PATH_IMAGE036
,设0-1变量
Figure DEST_PATH_IMAGE044
为神经元群
Figure 235563DEST_PATH_IMAGE028
在计算核心
Figure 241565DEST_PATH_IMAGE034
上的存在状态,若
Figure 472826DEST_PATH_IMAGE044
为1则表示神经元群
Figure 201879DEST_PATH_IMAGE028
被映射在计算核心
Figure 250606DEST_PATH_IMAGE034
上,为0则表示未被映射上,建立整数规划模型,表达式为:
Figure DEST_PATH_IMAGE046
Figure DEST_PATH_IMAGE048
Figure DEST_PATH_IMAGE050
Figure DEST_PATH_IMAGE052
Figure DEST_PATH_IMAGE054
Figure DEST_PATH_IMAGE056
其中目标函数由两部分组成,
Figure DEST_PATH_IMAGE058
Figure 866875DEST_PATH_IMAGE042
个神经元群及所在计算核心之间的总通信代价;
Figure DEST_PATH_IMAGE060
Figure 698565DEST_PATH_IMAGE042
个神经元群与不在候选集内的其他神经元群之间的总通信代价,所述不在候选集内的神经元群所映射的计算核心的位置均固定,因此该项仅保留
Figure 577397DEST_PATH_IMAGE044
其中约束条件
Figure DEST_PATH_IMAGE062
要求,对于每个计算核心,仅有一个神经元群被部署在上面;
约束条件
Figure DEST_PATH_IMAGE064
要求,对于每个神经元群,仅被部署在一个计算核心上。
8.如权利要求7所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述整数规划模型为0-1整数非线性规划的模型,使用扩展的割平面法求解获得最优解
Figure 734709DEST_PATH_IMAGE044
,查找神经元群
Figure DEST_PATH_IMAGE066
满足
Figure DEST_PATH_IMAGE068
获得所有
Figure 793932DEST_PATH_IMAGE042
个神经元群调换后的计算核心的位置。
9.一种基于禁忌搜索算法的神经网络片上映射装置,其特征在于,包括一个或多个处理器,用于实现权利要求1-8中任一项所述的基于禁忌搜索算法的神经网络片上映射方法。
10.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-8中任一项所述的基于禁忌搜索算法的神经网络片上映射方法。
CN202211098597.9A 2022-09-09 2022-09-09 一种基于禁忌搜索算法的神经网络片上映射方法和装置 Active CN115168281B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202211098597.9A CN115168281B (zh) 2022-09-09 2022-09-09 一种基于禁忌搜索算法的神经网络片上映射方法和装置
PCT/CN2023/110115 WO2024051388A1 (zh) 2022-09-09 2023-07-31 一种基于禁忌搜索算法的神经网络片上映射方法和装置
EP23790535.1A EP4375844A1 (en) 2022-09-09 2023-07-31 Neural network on-chip mapping method and device based on tabu search algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211098597.9A CN115168281B (zh) 2022-09-09 2022-09-09 一种基于禁忌搜索算法的神经网络片上映射方法和装置

Publications (2)

Publication Number Publication Date
CN115168281A true CN115168281A (zh) 2022-10-11
CN115168281B CN115168281B (zh) 2023-01-03

Family

ID=83482425

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211098597.9A Active CN115168281B (zh) 2022-09-09 2022-09-09 一种基于禁忌搜索算法的神经网络片上映射方法和装置

Country Status (3)

Country Link
EP (1) EP4375844A1 (zh)
CN (1) CN115168281B (zh)
WO (1) WO2024051388A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116389284A (zh) * 2023-03-17 2023-07-04 南通大学 一种分布式量子计算中基于依赖图的传输代价优化方法
WO2024051388A1 (zh) * 2022-09-09 2024-03-14 之江实验室 一种基于禁忌搜索算法的神经网络片上映射方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118172381B (zh) * 2024-05-14 2024-07-26 华芯程(杭州)科技有限公司 光掩模图案拆分方法、装置、电子设备及存储介质

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088320A1 (en) * 2000-06-10 2003-05-08 Sale Mark Edward Unsupervised machine learning-based mathematical model selection
US20070087756A1 (en) * 2005-10-04 2007-04-19 Hoffberg Steven M Multifactorial optimization system and method
US20080151811A1 (en) * 2006-12-20 2008-06-26 Hersham El-Damhougy Interplanetary communications network, interplanetary communications network backbone and method of managing interplanetary communications network
CN101271407A (zh) * 2008-05-13 2008-09-24 武汉理工大学 一种基于能量优化的网格调度方法
CN102065019A (zh) * 2011-01-21 2011-05-18 西安电子科技大学 基于区域划分的片上网络快速ip核映射方法
US20150088795A1 (en) * 2013-09-23 2015-03-26 Oracle International Corporation Minimizing Global Error in an Artificial Neural Network
US9015093B1 (en) * 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
CN105469143A (zh) * 2015-11-13 2016-04-06 清华大学 基于神经网络动态特征的片上网络资源映射方法
CN106227851A (zh) * 2016-07-29 2016-12-14 汤平 基于深度卷积神经网络端对端的通过分层深度搜索的图像检索方法
CN107563409A (zh) * 2017-08-04 2018-01-09 汕头大学 一种基于区域图像特征关注网络与最近邻排序的描述方法
CN108833295A (zh) * 2018-06-25 2018-11-16 西安交通大学 面向sdn的基于禁忌搜索的虚拟网络重配置方法
CN110221170A (zh) * 2019-06-05 2019-09-10 贵州电网有限责任公司 一种基于禁忌搜索优化rbf网络的小电流接地选线方法
CN110782031A (zh) * 2019-09-27 2020-02-11 北京计算机技术及应用研究所 多框架卷积神经网络模型结构可视化以及网络重建方法
CN113988286A (zh) * 2021-11-11 2022-01-28 中山大学 一种应用于片上网络ip核映射问题的映射方法
CN114492782A (zh) * 2022-04-19 2022-05-13 之江实验室 基于强化学习的神经网络的片上核心编译映射方法及装置
CN114492770A (zh) * 2022-01-28 2022-05-13 浙江大学 一种面向循环脉冲神经网络的类脑计算芯片映射方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107851024A (zh) * 2015-05-15 2018-03-27 考科斯汽车有限公司 用于解空间分割的并行处理
CN109726479B (zh) * 2018-12-29 2023-05-09 南京宁麒智能计算芯片研究院有限公司 一种三维片上网络垂直通道的部署方法
US11721085B2 (en) * 2020-12-20 2023-08-08 Tianzhi Yang Generating and evaluating mappings between spatial point sets in multi-levels
CN115168281B (zh) * 2022-09-09 2023-01-03 之江实验室 一种基于禁忌搜索算法的神经网络片上映射方法和装置

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030088320A1 (en) * 2000-06-10 2003-05-08 Sale Mark Edward Unsupervised machine learning-based mathematical model selection
US20070087756A1 (en) * 2005-10-04 2007-04-19 Hoffberg Steven M Multifactorial optimization system and method
US20080151811A1 (en) * 2006-12-20 2008-06-26 Hersham El-Damhougy Interplanetary communications network, interplanetary communications network backbone and method of managing interplanetary communications network
CN101271407A (zh) * 2008-05-13 2008-09-24 武汉理工大学 一种基于能量优化的网格调度方法
US9015093B1 (en) * 2010-10-26 2015-04-21 Michael Lamport Commons Intelligent control with hierarchical stacked neural networks
CN102065019A (zh) * 2011-01-21 2011-05-18 西安电子科技大学 基于区域划分的片上网络快速ip核映射方法
US20150088795A1 (en) * 2013-09-23 2015-03-26 Oracle International Corporation Minimizing Global Error in an Artificial Neural Network
CN105469143A (zh) * 2015-11-13 2016-04-06 清华大学 基于神经网络动态特征的片上网络资源映射方法
CN106227851A (zh) * 2016-07-29 2016-12-14 汤平 基于深度卷积神经网络端对端的通过分层深度搜索的图像检索方法
CN107563409A (zh) * 2017-08-04 2018-01-09 汕头大学 一种基于区域图像特征关注网络与最近邻排序的描述方法
CN108833295A (zh) * 2018-06-25 2018-11-16 西安交通大学 面向sdn的基于禁忌搜索的虚拟网络重配置方法
CN110221170A (zh) * 2019-06-05 2019-09-10 贵州电网有限责任公司 一种基于禁忌搜索优化rbf网络的小电流接地选线方法
CN110782031A (zh) * 2019-09-27 2020-02-11 北京计算机技术及应用研究所 多框架卷积神经网络模型结构可视化以及网络重建方法
CN113988286A (zh) * 2021-11-11 2022-01-28 中山大学 一种应用于片上网络ip核映射问题的映射方法
CN114492770A (zh) * 2022-01-28 2022-05-13 浙江大学 一种面向循环脉冲神经网络的类脑计算芯片映射方法
CN114492782A (zh) * 2022-04-19 2022-05-13 之江实验室 基于强化学习的神经网络的片上核心编译映射方法及装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
常政威等: "片上网络映射问题的改进禁忌搜索算法", 《计算机辅助设计与图形学学报》 *
张江涛等: "一种基于代数算法的RBF神经网络优化方法", 《计算机工程与应用》 *
怀丽波: "最优化理论与方法在人工神经网络中的应用", 《科技创新导报》 *
薛青松: "《基于改进粒子群算法的模糊神经网络研究》", 《万方数据》 *
邱恋等: "一种基于禁忌搜索算法的设站问题解决方案", 《通信技术》 *
高海兵等: "广义粒子群优化模型", 《计算机学报》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024051388A1 (zh) * 2022-09-09 2024-03-14 之江实验室 一种基于禁忌搜索算法的神经网络片上映射方法和装置
CN116389284A (zh) * 2023-03-17 2023-07-04 南通大学 一种分布式量子计算中基于依赖图的传输代价优化方法
CN116389284B (zh) * 2023-03-17 2023-11-07 南通大学 一种分布式量子计算中基于依赖图的传输代价优化方法

Also Published As

Publication number Publication date
CN115168281B (zh) 2023-01-03
WO2024051388A1 (zh) 2024-03-14
EP4375844A1 (en) 2024-05-29

Similar Documents

Publication Publication Date Title
CN115168281B (zh) 一种基于禁忌搜索算法的神经网络片上映射方法和装置
WO2022048280A1 (zh) 一种分布式的量子计算仿真方法和装置
US11960934B2 (en) Systems and methods for improved neural network execution
Sudholt Parallel evolutionary algorithms
WO2022068663A1 (zh) 内存分配方法、相关设备及计算机可读存储介质
JP2019522850A (ja) ディープニューラルネットワーク用のアクセラレータ
Schulz High quality graph partitioning
CN114492782B (zh) 基于强化学习的神经网络的片上核心编译映射方法及装置
CN111400555B (zh) 图数据查询任务处理方法、装置、计算机设备和存储介质
Schlag et al. Scalable edge partitioning
Wang et al. A message-passing multi-softcore architecture on FPGA for breadth-first search
CN116070682B (zh) 神经元计算机操作系统的snn模型动态映射方法及装置
Loni et al. ADONN: adaptive design of optimized deep neural networks for embedded systems
Mohiz et al. Application mapping using cuckoo search optimization with Lévy flight for NoC-based system
Zou et al. Massively simulating adiabatic bifurcations with FPGA to solve combinatorial optimization
CN110175172B (zh) 基于稀疏二分图的极大二分团并行枚举方法
von Kirchbach et al. Efficient process-to-node mapping algorithms for stencil computations
Vidal et al. Solving the DNA fragment assembly problem with a parallel discrete firefly algorithm implemented on GPU
CN112100446B (zh) 搜索方法、可读存储介质和电子设备
Li Fast Hough Transform for multidimensional signal processing
Borges AlexNet deep neural network on a many core platform
JP2008299641A (ja) 連立一次方程式の並列求解方法およびノード順序付け方法
CN117688992B (zh) 神经元计算机操作系统的资源映射方法和装置
Guo et al. Parallel graph partitioning framework for solving the maximum clique problem using Hadoop
Sheng et al. Distributed evolution strategies using tpus for meta-learning

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
GR01 Patent grant
GR01 Patent grant