[发明专利]一种数据流处理器指令映射方法及系统、装置在审
申请号: | 201911011823.3 | 申请日: | 2019-10-23 |
公开(公告)号: | CN110941451A | 公开(公告)日: | 2020-03-31 |
发明(设计)人: | 安述倩;张明喆;叶笑春;王达;张浩;范东睿;唐志敏 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;张燕华 |
地址: | 100080 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据流 处理器 指令 映射 方法 系统 装置 | ||
1.一种数据流处理器指令映射方法,其特征在于,包括:
根据数据流图,对初始指令序列进行广度优先遍历的排序,得到按照深度优先排序的最终指令序列;
将该最终指令序列划分为多个指令子序列,对所有该指令子序列依次进行指令映射,生成多个子映射布局;
合并所有该子映射布局为用于数据流处理器执行该初始指令序列的最终映射布局。
2.如权利要求1所述的数据流处理器指令映射方法,其特征在于,对该指令子序列进行指令映射的过程包括:对该指令子序列中的所有指令进行全排列,获得多种待选指令子序列;依次对所有该待选指令子序列进行指令映射并运行,以选择一种待选指令子序列作为该子映射布局。
3.如权利要求2所述的数据流处理器指令映射方法,其特征在于,选取该子映射布局的过程包括:
以负载均衡度、拥塞度和传输代价为选择因素,对所有该选择因素进行全排列,构建多种选择模型;其中,根据该待选指令子序列映射到该数据流处理器的各执行单元上的指令数为该负载均衡度;通过网络拥塞模型,以该待选指令子序列的任一指令映射的布局和当前的映射位置,获得该拥塞度;根据该待选指令子序列的任一指令所在位置与已经映射的父节点的距离,得出需要传输的网络包数目作为该传输代价;
根据该初始指令序列执行时对该选择因素的优先级要求,选取一种该选择模型作为多因素综合平衡模型;
通过该多因素综合平衡模型,通过该多因素综合平衡模型,选择高优先级的选择因素达到最小值的待选指令子序列作为该子映射布局。
4.如权利要求1所述的数据流处理器指令映射方法,其特征在于,获得该最终指令序列的过程包括:
步骤1,对该初始指令序列的最先的L条指令,依次判断是否为根指令节点,若是,则顺序放入指令遍历队列search queue,并标记为已经被访问;其中L为遍历的初始广度,L为正整数;
步骤2,将指令遍历队列search queue的第一个元素inst出队,并将元素inst放入指令列表inst_list中;遍历该数据流图的依赖关系列表,寻找以元素inst作为父节点的具有父子关系节点的关系对,若该关系对中的子节点children_inst的所有父节点都已经被标记为已经被访问,则将children_inst也放入指令遍历队列search queue;
步骤3,重复步骤2,直到指令遍历队列search queue为空,以此时的指令列表inst_list为该最终指令序列。
5.一种数据流处理器指令映射系统,其特征在于,包括:
预处理模块,用于根据数据流图,对初始指令序列进行广度优先遍历的排序,得到按照深度优先排序的最终指令序列;
映射划分模块,用于将该最终指令序列划分为多个指令子序列,对所有该指令子序列依次进行指令映射,生成多个子映射布局;
最终映射模块,用于合并所有该子映射布局为用于数据流处理器执行该初始指令序列的最终映射布局。
6.如权利要求5所述的数据流处理器指令映射系统,其特征在于,该映射划分模块包括:
子序列获取模块,用于对该指令子序列中的所有指令进行全排列,获得多种待选指令子序列;
子序列选择模块,用于依次对所有该待选指令子序列进行指令映射并运行,以选择一种待选指令子序列作为该子映射布局。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911011823.3/1.html,转载请声明来源钻瓜专利网。