[发明专利]一种实现对循环任务进行软硬件划分的方法和装置有效
申请号: | 200910090401.X | 申请日: | 2009-07-31 |
公开(公告)号: | CN101630274A | 公开(公告)日: | 2010-01-20 |
发明(设计)人: | 刘雷波;王延升;尹首一;于苏东;魏少军 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京三高永信知识产权代理有限责任公司 | 代理人: | 何文彬 |
地址: | 10008*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 循环 任务 进行 软硬件 划分 方法 装置 | ||
1.一种实现对循环任务进行软硬件划分的方法,其特征在于,当可重构阵 列当前执行数据流的节点个数大于可重构阵列的规模时,所述方法包括:
步骤C1:对所述可重构阵列当前执行数据流的节点进行算子调度;
步骤C2:根据算子调度结果,获得输入节点的自由度;
步骤C3:获得所述输入节点的输出个数;
步骤C4:根据步骤C2获得的所述输入节点的自由度、步骤C3获得的所述输 入节点的输出个数,获取自由度最高且输出个数最少的输入节点;
步骤C5:将步骤C4获取的输入节点划分到主处理器。
2.如权利要求1所述的方法,其特征在于,所述步骤C5还包括:更新所 述主处理器和所述可重构阵列,重复执行步骤C1至C5,直到所述可重构阵列当 前执行数据流的节点个数小于等于可重构阵列的规模为止。
3.如权利要求1所述的方法,其特征在于,所述步骤C2包括:
步骤C21:对所述当前执行数据流的节点进行第一算子调度;
步骤C22:对所述当前执行数据流的节点进行第二算子调度;
相应地,所述步骤C2具体包括:根据步骤C22获得的调度中的节点所在的 时钟周期和步骤C21获得的调度中的节点所在的时钟周期,获得输入节点的自 由度。
4.如权利要求3所述的方法,其特征在于,根据步骤C22获得的调度中的 节点所在的时钟周期和步骤C21获得的调度中的节点所在的时钟周期,获得输 入节点的自由度具体为:
输入节点的自由度=“第二算子调度中节点的时钟周期-第一算子调度中 节点的时钟周期+1”,
其中,所述第一算子调度为“尽可能早”算子调度,所述第二算子调度为 “尽可能晚”算子调度。
5.如权利要求1所述的方法,其特征在于,当所述步骤C4获取的输入节 点为多个时;
所述步骤C5包括:将编号最小的一个输入节点划分到主处理器。
6.一种实现对循环任务进行软硬件划分的装置,其特征在于,当可重构阵 列当前执行数据流的节点个数大于可重构阵列的规模时,所述装置包括:
调度模块,用于对所述可重构阵列当前执行数据流的节点进行算子调度;
第一获得模块,用于根据所述调度模块的调度结果,获得输入节点的自由 度;
第二获得模块,用于获得输入节点的输出个数;
获取模块,用于根据所述第一获得模块获得的输入节点的自由度、所述第 二获得模块获得的输入节点的输出个数,获取自由度最高且输出最少的输入节 点;
划分模块,用于将所述获取模块获取的输入节点划分到主处理器。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:处理模块; 所述处理模块用于更新所述主处理器和所述可重构阵列,直到所述可重构阵列 当前执行数据流的节点小于所述可重构阵列的规模为止。
8.如权利要求6所述的装置,其特征在于,所述调度模块具体包括:
第一调度单元,用于对所述当前执行数据流的节点进行第一算子调度;
第二调度单元,用于对所述当前执行数据流的节点进行第二算子调度;
相应地,所述第一获得模块具体用于:根据所述第二调度单元获得的调度 中的节点所在的时钟周期和所述第一调度单元获得的调度中的节点所在的时钟 周期,获得输入节点的自由度。
9.如权利要求6所述的装置,其特征在于,当所述获取模块获取的输入节 点为多个时;
所述划分模块具体用于将所述获取模块获取的输入节点中编号最小的一个 输入节点划分到主处理器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910090401.X/1.html,转载请声明来源钻瓜专利网。