The present invention discloses a data stream instruction mapping method, which includes a data stream graph traversal step and an instruction mapping sub step. The data stream graph traverses the sub steps to traverse each node in the data flow graph. The instruction mapping sub step is used to map the multiple data stream instructions to a single network. On the element array. The data stream instruction mapping method provided by the invention optimizes the existing data stream instruction mapping method, which can make the location of the PE (processing unit) corresponding to multiple addresses in the running multi address shared data routing packet on a straight line to reduce the cause, according to the topology of the network on the chip and the characteristics of the routing algorithm. The split of the routing packets causes congestion on the network and improves the execution efficiency of the data flow program.
【技术实现步骤摘要】
一种数据流指令映射方法
本专利技术涉及数据流体系结构处理器优化领域,特别涉及一种利用处理器内部片上网络特点的数据流指令映射方法。
技术介绍
随着计算机体系结构的发展,领域专用的计算机体系结构成为主要发展趋势.在面向特定应用时,专用型结构利用应用特征对结构进行相应的优化,从而更好地发挥出硬件的计算性能。在高性能计算领域,数据流计算是领域专用计算结构的一个重要分支,数据流计算表现出了较好的性能和适用性。在数据流计算模式中,程序是以数据流图来表示的。数据流计算中一个关键的问题是如何将数据流图映射到多个执行单元上。数据流指令映射需要兼顾通信延迟和并发性。在发掘程序的并行性的同时,尽量缩短指令之间的通信延迟,从而提高数据流程序的执行效率。例如在TRIPS中,程序块被分配到4×4的执行单元阵列上,每个执行单元上最多可以放置8条指令,单个程序块最大为128条指令。执行单元、缓存和寄存器堆之间通过二维网格(Mesh)进行通信。当一个程序块完成计算后,调度单元将下一个程序块映射到执行单元阵列上。在最新的数据流众核结构中,大量运算的操作数需要通过片上网络传递,造成片上网络上传输消息量巨大,严重影响了数据流众核片上处理器核接收消息的延迟,并且数据流众核处理器核的性能很依赖接收操作数带宽。基于以上情况出现了将传统的单地址单数据包格式改成多地址共享数据包格式,新的路由包相比于传统的数据包可以大量减少片上网络上传输消息量,从而减少片上网络传输延迟,提高数据流众核处理器核的运算吞吐量。对于现有的数据流众核结构指令映射方法,主要考虑通信延迟,互相依赖的指令应该尽量映射到较近的执行单元或同 ...
【技术保护点】
1.一种数据流指令映射方法,其特征在于,包括数据流图遍历子步骤和指令映射子步骤,数据流图遍历子步骤用于对数据流图中的每一节点进行遍历,指令映射子步骤用于将多个数据流指令分别映射至位于一片上网络的计算单元阵列上,其中:数据流图遍历子步骤:S1:采用自顶向下、由外向内的原则对数据流图中的所有节点进行编号,同时设置一队列区和一缓冲区,其中,队列区用于记录需要遍历的节点,缓冲区用于记录节点的遍历状态;S2:从数据流图中的顶点0开始,基于图宽度优先遍历的原则将顶点0的下游节点1~n的编号插入所述队列区并将其状态标记为“就绪”,当队列区的节点遍历过之后则将对应的节点编号从队列区中删除;S3:将所述队列区中的节点编号依次读入所述缓冲区并全部标记为“未遍历”状态;S4:依次对缓冲区中的节点进行遍历,将遍历过的节点标记为“已遍历”,其中,如果欲遍历的节点的上游节点存在未遍历的情况,则将该欲遍历的节点标记为“等待”状态,接着对该欲遍历的节点的后续节点进行遍历,直至遍历到一“全遍历节点”,“全遍历节点”指的是其所有上游节点均处于“已遍历”状态的节点,则暂停遍历,执行步骤S5;S5:将步骤S4中标记为“等待” ...
【技术特征摘要】
1.一种数据流指令映射方法,其特征在于,包括数据流图遍历子步骤和指令映射子步骤,数据流图遍历子步骤用于对数据流图中的每一节点进行遍历,指令映射子步骤用于将多个数据流指令分别映射至位于一片上网络的计算单元阵列上,其中:数据流图遍历子步骤:S1:采用自顶向下、由外向内的原则对数据流图中的所有节点进行编号,同时设置一队列区和一缓冲区,其中,队列区用于记录需要遍历的节点,缓冲区用于记录节点的遍历状态;S2:从数据流图中的顶点0开始,基于图宽度优先遍历的原则将顶点0的下游节点1~n的编号插入所述队列区并将其状态标记为“就绪”,当队列区的节点遍历过之后则将对应的节点编号从队列区中删除;S3:将所述队列区中的节点编号依次读入所述缓冲区并全部标记为“未遍历”状态;S4:依次对缓冲区中的节点进行遍历,将遍历过的节点标记为“已遍历”,其中,如果欲遍历的节点的上游节点存在未遍历的情况,则将该欲遍历的节点标记为“等待”状态,接着对该欲遍历的节点的后续节点进行遍历,直至遍历到一“全遍历节点”,“全遍历节点”指的是其所有上游节点均处于“已遍历”状态的节点,则暂停遍历,执行步骤S5;S5:将步骤S4中标记为“等待”状态的节点依序遍历一遍,如果处于“等待”状态的节点的所有上游节点都遍历过,则其状态修改...
【专利技术属性】
技术研发人员:李易,欧焱,张浩,范东睿,叶笑春,
申请(专利权)人:北京中科睿芯智能计算产业研究院有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。