CN111783320B - 针对指定应用的类脑处理器NoC设计空间探索方法、系统及介质 - Google Patents
针对指定应用的类脑处理器NoC设计空间探索方法、系统及介质 Download PDFInfo
- Publication number
- CN111783320B CN111783320B CN202010767668.4A CN202010767668A CN111783320B CN 111783320 B CN111783320 B CN 111783320B CN 202010767668 A CN202010767668 A CN 202010767668A CN 111783320 B CN111783320 B CN 111783320B
- Authority
- CN
- China
- Prior art keywords
- data
- current solution
- brain
- new
- noc
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/08—Probabilistic or stochastic CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/08—Thermal analysis or thermal optimisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Strategic Management (AREA)
- Educational Administration (AREA)
- Entrepreneurship & Innovation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- Neurology (AREA)
- Game Theory and Decision Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
Abstract
本发明公开了一种针对指定应用的类脑处理器NoC设计空间探索方法、系统及介质,本发明首先随机生成一种NoC的结构作为当前解P,然后在当前解P的基础上不断通过扰动在当前解P附近生成新的结构C,并基于历史最优值搜索下一个设计点,有效地解决了NoC的搜索空间是离散的、不同的设计参数之间存在依赖性的特性,确保搜索过程稳定找出历史最优解,本发明实现了针对指定应用的类脑处理器NoC设计空间探索(Design space exploration,DSE),能够对指定的SNN应用找到具有最低通信延迟、且满足实时性要求的类脑处理器NoC体系结构,所采用的启发式算法能够在保证搜索效果前提下,大幅降低搜索时间。
Description
技术领域
本发明设及的领域包括类脑处理器、脉冲神经网络(SNN)和片上网络(NoC)等领域,具体涉及针对指定应用的类脑处理器NoC设计空间探索(Design space exploration,DSE)方法、系统及介质。
背景技术
类脑计算(Neuromorphic Computing)是人工智能领域的一个重要分支。目前业界已经存在一些优秀的类脑处理器。因为其存在低功耗、高并行、容错性等特点,类脑处理器已经被广泛地用于图像识别、语音识别、目标追踪等诸多领域。类脑处理器是类脑计算技术的基础设施,能够实现海量神经元的计算和互连,为类脑计算算法提供运行平台。近年来在国内外有许多类脑处理器研制成功,包括IBM的TrueNorth、Intel的Loihi、瑞士神经信息研究所的DYNAPs,曼彻斯特大学的SpiNNaker和清华大学的天机等等。
片上网络(Network-on-Chip,NoC)是片上系统(system-on-chip,SoC)的一种通信方法,它的概念在2000年左右由学术界提出。产业界也推动着NoC的发展,从Sun的8核处理器UltraSPARC T1的交叉开关互连,到IBM的9核处理器Cell的环形互连,再到Tilera的64核处理器TILE64的二维Mesh网络互连,商业多核微处理器片上互连方式也在不断演化向NoC的方式迈进。经过学术界和产业界十余年的推动和发展,NoC已逐渐成为多核SoC片上互连的主流通信架构。NoC包括计算和通信两类节点,有效实现了计算与通信的分离。与传统的总线及交叉开关互连结构相比,片上网络具有这些优势:1)高带宽、低功耗;2)可扩展性;3)可重用性。这些特性使得其非常适合用于类脑处理器中的互连结构的实现。
脉冲神经网络(spiking neural network,SNN)为第三代神经网络。常见的脉冲网络有MLP、RC。其中MLP中每一层的神经元都与下一层中的所有神经元全连接。RC网络为液体状态机的一种,它由输入层、液体层、输出层三部分组成。液体层中的神经元递归连接。SNN与传统的人工神经网络最大的不同是该网络中神经元之间通过离散的脉冲进行通信。离散的脉冲(spike)串可以理解为011001这样的序列,脉冲串中每个元素的坐标为脉冲产生的时间步,若该元素值为1,则说明该神经元在该时间步产生了一个脉冲。
类脑处理器主要包括计算、互连以及存储。大脑中有大约有860亿个神经元,每个神经元的计算功能相对简单,但是每个神经元与其它神经元大约有1000-10,000个突触连接。神经元之间互不影响,并行运行。互连系统是类脑处理器中至关重要的组成部分,它的性能直接决定了类脑处理器性能的好坏。
类脑处理器中运行的为脉冲神经网络。因此,脉冲神经网络中的时间步也要在类脑处理器中通过硬件实现这种机制。在硬件结构中,时间都是通过时钟(cycle)数来表示的。在NoC中进行数据传输时是有延迟的,因为出传输一个数据包涉及到路由计算、存储转发等各个阶段。不同的NoC结构有着不同的数据包传输延迟。
为了实现高性能、可扩展、大量并行、低延迟、低功耗的目标,目前研究人员都采用片上网络(Network on Chip,NoC)来设计类脑芯片中的通信系统。现有各个研究小组的类脑芯片中的片上网络都各不相同,拓扑方案有树形拓扑、网状拓扑、混合拓扑;路由方案有源路由、目的路由;针对SNN的时间同步方案有固定循环时间(TrueNorth)、动态循环时间(Loihi);网络中的数据包的格式设计有定长数据包、变长数据包。但是,不同的应用所适用的最佳NoC结构是不同的。同时,NoC又有很大的设计空间,要在如此庞大的设计空间中找到适合指定应用(Application)的最佳NoC设计是非常耗费时间与资源的。因此,需要一个探索框架,能够针对指定应用,探索NoC的实际空间(design space exploration,DSE),快速找到具有最低通信延迟、且满足实时性要求的NoC设计。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种针对指定应用的类脑处理器NoC设计空间探索方法、系统及介质,本发明实现了针对指定应用的类脑处理器NoC设计空间探索(Design space exploration,DSE),能够对指定的SNN应用找到具有最低通信延迟、且满足实时性要求的类脑处理器NoC体系结构,所采用的启发式算法能够在保证搜索效果前提下,大幅降低搜索时间。
为了解决上述技术问题,本发明采用的技术方案为:
一种针对指定应用的类脑处理器NoC设计空间探索方法,该方法包括:
1)针对指定的脉冲神经网络,提取在运行过程中神经元与神经元之间的通信流量经过映射后得到核间通信流量,作为每个路由器中通信行为Trace;
2)初始化迭代次数k和模拟退火算法的当前温度T,随机生成一种NoC的结构作为当前解P,并将核间通信行为Trace作为当前解P的输入,计算当前解P的预设性能指标L(P);
3)通过扰动在当前解P附近生成新的结构C,计算结构C的预设性能指标L(C);
4)判断当前解P的预设性能指标L(P)大于结构C的预设性能指标L(C)是否成立,若成立,则跳转执行步骤6);否则执行下一步;
5)计算用于接受新的结构C的概率p,若概率p大于阈值r,则执行下一步;否则跳转执行步骤7;
6)将新的结构C赋值给当前解P、结构C的预设性能指标L(C)赋值给当前解P的预设性能指标L(P),使得新的结构C成为新的当前解P;
7)更新迭代次数k,判断迭代次数k是否满足退出条件,若满足退出条件,则执行下一步;否则跳转执行步骤3)继续进行下一轮迭代;
8)判断模拟退火算法的当前温度T小于预设阈值Tmin是否成立,若成立则执行下一步;否则更新当前温度T的值,并跳转执行步骤3)继续进行下一轮搜寻;
9)将得到的当前解P作为类脑处理器NoC的最优结构输出。
可选地,步骤5)中计算用于接受新的结构C的概率p的函数表达式为:
p=exp((L(P)–L(C))/T)
上式中,L(P)为当前解P的预设性能指标,L(C)为结构C的预设性能指标,T为模拟退火算法的当前温度,exp为预设的关系函数。
可选地,步骤5)中阈值r为预先生成区间在(0,1)内的随机数。
可选地,所述当前解P、新的结构C均为包括拓扑结构、路由算法、虚通道分配方法、仲裁类型、优先级类型、虚通道数量、虚通道深度共七个维度数据。
可选地,步骤3)中通过扰动在当前解P附近生成新的结构C的步骤包括:对当前解P中每一个维度数据的每一项数据生成新数据,将得到的所有新数据构成的新的维度数据,并将所有新的维度数据拼接得到新的结构C。
可选地,所述对当前解P中每一个维度数据的每一项数据生成新数据的步骤包括:
S1)输入该项数据对应的维度数据X、该项数据在对应维度数据中的索引号x、模拟退火算法的当前温度T;
S2)计算维度数据X的长度length,并根据索引号x从维度数据X中提取出该项数据的原值index;
S3)根据下式生成该项数据的新值new_index;
new_index=ceil(index+np.random.uniform(low,high)*T)%length
上式中,ceil表示向上取整,index为该项数据的原值,np.random.uniform(low,high)表示从一个均匀分布[low,high)中随机采样,low为该项数据的下边界,high为该项数据的上边界,T为模拟退火算法的当前温度,%为模运算,length为维度数据X的长度。
可选地,所述计算当前解P的预设性能指标L(P)以及计算结构C的预设性能指标L(C)具体是指计算平均传输延迟、能耗、面积中的一种或多种的组合。
此外,本发明还提供一种针对指定应用的类脑处理器NoC设计空间探索系统,包括计算机设备,其特征在于,该计算机设备被编程或配置以执行所述针对指定应用的类脑处理器NoC设计空间探索方法的步骤。
此外,本发明还提供一种针对指定应用的类脑处理器NoC设计空间探索系统,包括计算机设备,其特征在于,该计算机设备的存储器上存储有被编程或配置以执行所述针对指定应用的类脑处理器NoC设计空间探索方法的计算机程序。
此外,本发明还提供一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有被编程或配置以执行所述针对指定应用的类脑处理器NoC设计空间探索方法的计算机程序。
和现有技术相比,本发明具有下述优点:本发明首先随机生成一种NoC的结构作为当前解P,计算当前解P的预设性能指标L(P),然后在当前解P的基础上不断通过扰动在当前解P附近生成新的结构C,计算结构C的预设性能指标L(C),并基于历史最优值搜索下一个设计点,有效地解决了NoC的搜索空间是离散的、不同的设计参数之间存在依赖性的特性,确保搜索过程稳定找出历史最优解,本发明实现了针对指定应用的类脑处理器NoC设计空间探索(Design space exploration,DSE),能够对指定的SNN应用找到合适的类脑处理器NoC体系结构,所采用的启发式算法能够在保证搜索效果前提下,大幅降低搜索时间。
附图说明
图1为本发明实施例方法的基本原理示意图。
图2为本发明实施例方法的基本流程示意图。
具体实施方式
如图1和图2所示,本实施例针对指定应用的类脑处理器NoC设计空间探索方法包括:
1)针对指定的脉冲神经网络,提取在运行过程中神经元与神经元之间的通信流量经过映射后得到核间通信流量,作为每个路由器中通信行为Trace;
2)初始化迭代次数k和模拟退火算法的当前温度T,随机生成一种NoC的结构作为当前解P,并将核间通信行为Trace作为当前解P的输入,计算当前解P的预设性能指标L(P);
3)通过扰动在当前解P附近生成新的结构C,计算结构C的预设性能指标L(C);
4)判断当前解P的预设性能指标L(P)大于结构C的预设性能指标L(C)是否成立,若成立,则跳转执行步骤6);否则执行下一步;
5)计算用于接受新的结构C的概率p,若概率p大于阈值r,则执行下一步;否则跳转执行步骤7);
6)将新的结构C赋值给当前解P、结构C的预设性能指标L(C)赋值给当前解P的预设性能指标L(P),使得新的结构C成为新的当前解P;
7)更新迭代次数k,判断迭代次数k是否满足退出条件,若满足退出条件,则执行下一步;否则跳转执行步骤3)继续进行下一轮迭代;
8)判断模拟退火算法的当前温度T小于预设阈值Tmin是否成立,若成立则执行下一步;否则更新当前温度T的值,并跳转执行步骤3)继续进行下一轮搜寻;
9)将得到的当前解P作为类脑处理器NoC的最优结构输出。
本实施例中,步骤5)中计算用于接受新的结构C的概率p的函数表达式为:
p=exp((L(P)–L(C))/T)
上式中,L(P)为当前解P的预设性能指标,L(C)为结构C的预设性能指标,T为模拟退火算法的当前温度,exp为预设的关系函数。
本实施例中,步骤5)中阈值r为预先生成区间在(0,1)内的随机数,即:r=random(0,1)。
本实施例中,当前解P、新的结构C均为包括拓扑结构、路由算法、虚通道分配方法、仲裁类型、优先级类型、虚通道数量、虚通道深度共七个维度数据,其中:
拓扑结构指的是网络中节点和边之间的连接。设计拓扑是设计一个网络的第一步,因为后续的路由算法以及流控方法都依赖于具体的拓扑结构。目前的类脑处理器中采用最多的拓扑结构为mesh和torus结构。本实施例的搜索空间中,拓扑目前只搜索这两种结构。
路由算法指的是从源节点到目的节点传输数据包所采用的策略。一个优秀的路由算法能够减少数据包的传输路径的长度,降低整体的传输延迟。
虚通道分配方法指的是虚通道的分配方法。在同一时刻可能有多个数据包需要进行传输。
仲裁类型指的是在仲裁时所采用的方法。
优先级类型指的是数据包在当前网络中进行传输时的优先级,在QoS中很重要。
虚通道数量指的是虚通道的数量。
虚通道深度指的是虚通道的深度。
前述七个维度数据构成了NoC的设计空间,七个维度数据的取值范围如表1所示:
表1:七个维度数据的取值范围表。
参见表1可知,NoC的结构的搜索空间Q1-Q7共7个维度共有2x16x6x2x3x6x7=48384种组合(设计点)。参见图1,其中云彩里面的每个三角形小方块为一个设计点,可以理解为向量<Q1,Q2,Q3,Q4,Q5,Q6,Q7>。不同的应用包括:MLP(多层感知机)和RC(水库计算),提取它们在运行过程中神经元与神经元之间的通信流量,经过映射后得到核间通信流量。本实施例中模拟器使用Booksim2进行NoC中数据包通信过程的仿真,它的输入包括:1)NoC结构;2)核间通信流量;输出的参数使用平均数据包的预设性能指标,搜索过程本实施例中采用的就是BHSA算法(优化的模拟退火算法)进行搜索。
本实施例中,所划分的整个设计空间包括7个维度,每个维度都有一些可供选择的参数。元组<Q1,Q2,Q3,Q4,Q5,Q6,Q7>构成一个设计点。作为一种示例,步骤2)随机生成一种NoC的结构作为当前解P为:
<1,2,2,1,1,1,1>
其中里面的数值为索引,此例子对应的具体结构为<mesh,dor,maxsize,round_robin,age,1,1>,含义为:此NoC结构其拓扑结构为mesh,路由算法为dor,虚通道分配方法为maxsize,仲裁方法采用round_roubin算法,优先级按照age来确定,虚通道的数量为1,虚通道的深度为1;并计算此结构P的预设性能指标L(P)。
最终步骤9)将得到的当前解P作为类脑处理器NoC的最优结构输出,得到的当前解P同样也是元组<Q1,Q2,Q3,Q4,Q5,Q6,Q7>的形式。比如,最优的最优解可能是<1,9,5,1,1,6,5>。
本实施例中,步骤3)中通过扰动在当前解P附近生成新的结构C的步骤包括:对当前解P中每一个维度数据的每一项数据生成新数据,将得到的所有新数据构成的新的维度数据,并将所有新的维度数据拼接得到新的结构C。
本实施例中,对当前解P中每一个维度数据的每一项数据生成新数据的步骤包括:
S1)输入该项数据对应的维度数据X、该项数据在对应维度数据中的索引号x、模拟退火算法的当前温度T;
S2)计算维度数据X的长度length,并根据索引号x从维度数据X中提取出该项数据的原值index;
S3)根据下式生成该项数据的新值new_index;
new_index=ceil(index+np.random.uniform(low,high)*T)%length
上式中,ceil表示向上取整,index为该项数据的原值,np.random.uniform(low,high)表示从一个均匀分布[low,high)中随机采样,low为该项数据的下边界,high为该项数据的上边界,T为模拟退火算法的当前温度,%为模运算,length为维度数据X的长度。
本实施例中,对当前解P中每一个维度数据的每一项数据生成新数据的步骤被封装为函数choice(),调用形式为:choice(x,X,T),调用参数用于输入该项数据对应的维度数据X、该项数据在对应维度数据中的索引号x、模拟退火算法的当前温度T。
本实施例中,计算当前解P的预设性能指标L(P)以及计算结构C的预设性能指标L(C)具体是指计算平均传输延迟,此外也可以根据需要选择能耗、或面积,以及平均传输延迟、能耗、面积中的多种的组合。由于平均传输延迟、能耗、面积均为NoC结构的现有性能指标,本申请并不涉及其计算方法的改进,故其具体计算方式在此不再展开说明。本实施例针对指定应用的类脑处理器NoC设计空间探索方法的输入还包括给定SNN网络模拟产生的流量经过映射后得到的trace文件(跟踪文件),trace文件中为一串条目,每一条格式为(时间t,源节点s,目的节点d),每一条相当于一个数据包,指的是在时刻t源节点s给目的节点d发送一个数据包,用于计算平均传输延迟。
本实施例中使用了改进的模拟退火(Simulated annealing,SA)算法来搜索NoC设计点。传统的模拟退火算法主要用于连续搜索空间。在这种连续空间中,SA算法能够以一定的概率跳出局部最优解,并且满足收敛条件。但是NoC的搜索空间是离散的,不同的设计参数之间存在依赖性。如果将传统的模拟退火算法用于搜索,这将使搜索过程变得不稳定。本实施例中对SA算法进行了改进,提出了BHSA(Better history simulated annealing)算法。BHSA算法可以记录搜索过程中的历史最优解。它将基于历史最优值搜索下一个设计点。DSE框架可以通过BHSA算法在NoC离散搜索空间中更快地到达合适的设计点。在搜索过程中,BHSA算法将基于当前温度T生成新的扰动。当温度下降时,会在当前搜索点附近产生一个新的搜索点。温度越高,两个搜索点之间的距离就越大。整个搜索过程中,首先随机生成一种NoC架构P,并计算P的平均数据包传输延迟L(P)。然后通过“扰动”,在结构P附近产生新的NoC架构C,计算C的平均数据包传输延迟L(C)。如果架构C的传输延迟小于架构P,则将架构C赋值给架构P;否则,以一定的概率接受架构C,这样可以跳出模拟退火算法的局部最优。经过多次迭代,如果温度T小于温度下限(预设阈值Tmin),终止搜索并返回搜到的最优架构。
此外,本实施例还提供一种针对指定应用的类脑处理器NoC设计空间探索系统,包括计算机设备,该计算机设备被编程或配置以执行前述针对指定应用的类脑处理器NoC设计空间探索方法的步骤。
此外,本实施例还提供一种针对指定应用的类脑处理器NoC设计空间探索系统,包括计算机设备,该计算机设备的存储器上存储有被编程或配置以执行前述针对指定应用的类脑处理器NoC设计空间探索方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有被编程或配置以执行前述针对指定应用的类脑处理器NoC设计空间探索方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种针对指定应用的类脑处理器NoC设计空间探索方法,其特征在于,该方法包括:
1)针对指定的脉冲神经网络,提取在运行过程中神经元与神经元之间的通信流量经过映射后得到核间通信流量,作为每个路由器中通信行为Trace;
2)初始化迭代次数k和模拟退火算法的当前温度T,随机生成一种NoC的结构作为当前解P,并将核间通信行为Trace作为当前解P的输入,计算当前解P的预设性能指标L(P);
3)通过扰动在当前解P附近生成新的结构C,计算结构C的预设性能指标L(C);
4)判断当前解P的预设性能指标L(P)大于结构C的预设性能指标L(C)是否成立,若成立,则跳转执行步骤6);否则执行下一步;
5)计算用于接受新的结构C的概率p,若概率p大于阈值r,则执行下一步;否则跳转执行步骤7);
6)将新的结构C赋值给当前解P、结构C的预设性能指标L(C)赋值给当前解P的预设性能指标L(P),使得新的结构C成为新的当前解P;
7)更新迭代次数k,判断迭代次数k是否满足退出条件,若满足退出条件,则执行下一步;否则跳转执行步骤3)继续进行下一轮迭代;
8)判断模拟退火算法的当前温度T小于预设阈值Tmin是否成立,若成立则执行下一步;否则更新当前温度T的值,并跳转执行步骤3)继续进行下一轮搜寻;
9)将得到的当前解P作为类脑处理器NoC的最优结构输出。
2.根据权利要求1所述的针对指定应用的类脑处理器NoC设计空间探索方法,其特征在于,步骤5)中计算用于接受新的结构C的概率p的函数表达式为:
p=exp((L(P)–L(C))/T)
上式中,L(P)为当前解P的预设性能指标,L(C)为结构C的预设性能指标,T为模拟退火算法的当前温度,exp为预设的关系函数。
3.根据权利要求1所述的针对指定应用的类脑处理器NoC设计空间探索方法,其特征在于,步骤5)中阈值r为预先生成区间在(0,1)内的随机数。
4.根据权利要求1所述的针对指定应用的类脑处理器NoC设计空间探索方法,其特征在于,所述当前解P、新的结构C均为包括拓扑结构、路由算法、虚通道分配方法、仲裁类型、优先级类型、虚通道数量、虚通道深度共七个维度数据。
5.根据权利要求1所述的针对指定应用的类脑处理器NoC设计空间探索方法,其特征在于,步骤3)中通过扰动在当前解P附近生成新的结构C的步骤包括:对当前解P中每一个维度数据的每一项数据生成新数据,将得到的所有新数据构成的新的维度数据,并将所有新的维度数据拼接得到新的结构C。
6.根据权利要求5所述的针对指定应用的类脑处理器NoC设计空间探索方法,其特征在于,所述对当前解P中每一个维度数据的每一项数据生成新数据的步骤包括:
S1)输入该项数据对应的维度数据X、该项数据在对应维度数据中的索引号x、模拟退火算法的当前温度T;
S2)计算维度数据X的长度length,并根据索引号x从维度数据X中提取出该项数据的原值index;
S3)根据下式生成该项数据的新值new_index;
new_index=ceil(index+np.random.uniform(low,high)*T)%length
上式中,ceil表示向上取整,index为该项数据的原值,np.random.uniform(low,high)表示从一个均匀分布[low,high)中随机采样,low为该项数据的下边界,high为该项数据的上边界,T为模拟退火算法的当前温度,%为模运算,length为维度数据X的长度。
7.根据权利要求1所述的针对指定应用的类脑处理器NoC设计空间探索方法,其特征在于,所述计算当前解P的预设性能指标L(P)以及计算结构C的预设性能指标L(C)具体是指计算平均传输延迟、能耗、面积中的一种或多种的组合。
8.一种针对指定应用的类脑处理器NoC设计空间探索系统,包括计算机设备,其特征在于,该计算机设备被编程或配置以执行权利要求1~7中任意一项所述针对指定应用的类脑处理器NoC设计空间探索方法的步骤。
9.一种针对指定应用的类脑处理器NoC设计空间探索系统,包括计算机设备,其特征在于,该计算机设备的存储器上存储有被编程或配置以执行权利要求1~7中任意一项所述针对指定应用的类脑处理器NoC设计空间探索方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有被编程或配置以执行权利要求1~7中任意一项所述针对指定应用的类脑处理器NoC设计空间探索方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010767668.4A CN111783320B (zh) | 2020-08-03 | 2020-08-03 | 针对指定应用的类脑处理器NoC设计空间探索方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010767668.4A CN111783320B (zh) | 2020-08-03 | 2020-08-03 | 针对指定应用的类脑处理器NoC设计空间探索方法、系统及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111783320A CN111783320A (zh) | 2020-10-16 |
CN111783320B true CN111783320B (zh) | 2022-09-02 |
Family
ID=72766389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010767668.4A Active CN111783320B (zh) | 2020-08-03 | 2020-08-03 | 针对指定应用的类脑处理器NoC设计空间探索方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111783320B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112329327B (zh) * | 2020-11-26 | 2022-06-07 | 中国人民解放军国防科技大学 | 一种硬件感知的液体状态机网络生成方法及系统 |
CN112468401B (zh) * | 2020-11-26 | 2022-05-20 | 中国人民解放军国防科技大学 | 用于类脑处理器的片上网络路由通信方法及片上网络 |
CN113158567B (zh) * | 2021-04-21 | 2022-05-03 | 中国人民解放军国防科技大学 | 一种液体状态机模型中通信的软硬件联合优化方法及系统 |
CN113239247B (zh) * | 2021-07-12 | 2021-10-26 | 深圳市永达电子信息股份有限公司 | 基于脑功能分区的多维数据搜索方法、系统和存储介质 |
CN114564434B (zh) * | 2022-01-13 | 2024-04-02 | 中国人民解放军国防科技大学 | 一种通用多核类脑处理器、加速卡及计算机设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325089B (zh) * | 2011-09-19 | 2014-04-02 | 西安电子科技大学 | 基于差分进化和捕食搜索策略的胖树型片上网络映射方法 |
CN111144555A (zh) * | 2019-12-31 | 2020-05-12 | 中国人民解放军国防科技大学 | 基于改进进化算法的循环神经网络架构搜索方法、系统及介质 |
-
2020
- 2020-08-03 CN CN202010767668.4A patent/CN111783320B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111783320A (zh) | 2020-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111783320B (zh) | 针对指定应用的类脑处理器NoC设计空间探索方法、系统及介质 | |
Liu et al. | Neu-NoC: A high-efficient interconnection network for accelerated neuromorphic systems | |
CN109919315B (zh) | 一种神经网络的前向推理方法、装置、设备及存储介质 | |
Liu et al. | Social learning discrete Particle Swarm Optimization based two-stage X-routing for IC design under Intelligent Edge Computing architecture | |
CN112468401B (zh) | 用于类脑处理器的片上网络路由通信方法及片上网络 | |
Rashidi et al. | Astra-sim: Enabling sw/hw co-design exploration for distributed dl training platforms | |
CN109818786A (zh) | 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法 | |
Firuzan et al. | Reconfigurable network-on-chip for 3D neural network accelerators | |
Bahirat et al. | A particle swarm optimization approach for synthesizing application-specific hybrid photonic networks-on-chip | |
Akbari et al. | A high-performance network-on-chip topology for neuromorphic architectures | |
CN107169561B (zh) | 面向功耗的混合粒子群脉冲神经网络映射方法 | |
Guo et al. | A novel cluster-head selection algorithm based on hybrid genetic optimization for wireless sensor networks | |
CN109587080A (zh) | 一种基于拓扑划分的片上网络快速映射算法 | |
Sambangi et al. | Application mapping onto manycore processor architectures using active search framework | |
CN115001978A (zh) | 一种基于强化学习模型的云租户虚拟网络智能映射方法 | |
Qu et al. | Improving local minima of columnar competitive model for TSPs | |
Teng et al. | A New Frog Leaping Algorithm Based on Simulated Annealing and Immunization Algorithm for Low-power Mapping in Network-on-chip. | |
Thomas et al. | Traffic prediction for NoCs using fuzzy logic | |
Patronas et al. | Accelerating the scheduling of the network resources of the next-generation optical data centers | |
Bi et al. | Adaptive type-2 fuzzy traffic signal control with on-line optimization | |
Silva et al. | Aco-based static routing for network-on-chips | |
Srivastava et al. | Intelligent congestion control for NoC architecture in Gem5 simulator | |
Qi et al. | MOELA: A Multi-Objective Evolutionary/Learning Design Space Exploration Framework for 3D Heterogeneous Manycore Platforms | |
Bastos-Filho et al. | Optimizing a routing algorithm based on hopfield neural networks for graphic processing units | |
Zeng | Optimizing Interconnection Topology using Deep Reinforcement 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 |