[发明专利]基于FPGA的动态可重构硬件加速方法及系统有效
申请号: | 201610824310.4 | 申请日: | 2016-09-14 |
公开(公告)号: | CN106648883B | 公开(公告)日: | 2020-02-04 |
发明(设计)人: | 牛昕宇 | 申请(专利权)人: | 深圳鲲云信息科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 31219 上海光华专利事务所(普通合伙) | 代理人: | 徐秋平 |
地址: | 518000 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fpga 动态 可重构 硬件加速 方法 系统 | ||
1.一种基于FPGA的动态可重构硬件加速方法,其特征在于,包括:
提取应用程序的可重构数据流图,所述可重构数据流图包括:含有多个函数节点的函数层数据流图、及由每个所述函数节点所含有的多个运算节点所构成的电路层数据流图;
对于每个函数节点,从其中的起始运算节点起,计算其余各个运算节点的运算起始时间和运算结束时间,据以计算每个函数节点的运算起始时间和运算结束时间;
在不改变各函数节点间原本的数据依赖的基础上,将所述函数层数据流图重新分层,每层包括按照函数节点内运算时间分开排序时在同一等级的电路;
将拥有相同函数功能的函数层合并为同一函数层,合并后的各函数层依照预设规则结合,每个结合后的函数层成为一个独立的配置层,同一配置层中的函数并行运行。
2.根据权利要求1所述的基于FPGA的动态可重构硬件加速方法,其特征在于,所述依照预设规则结合,包括:依照排序顺序从低层到高层逐一结合。
3.根据权利要求1所述的基于FPGA的动态可重构硬件加速方法,其特征在于,所述计算每个函数节点的运算起始时间和运算结束时间,包括:
取各起始运算节点的运算起始时间作为各函数节点的运算起始时间;
取各运算节点中最大的运算结束时间作为各函数节点的运算结束时间。
4.根据权利要求1所述的基于FPGA的动态可重构硬件加速方法,其特征在于,还包括方案层生成步骤,从而使同一应用能采用不同配置层的组合来完成整个函数的执行,包括:
每个配置层根据配置中排序最高的函数层级寻找包含下一函数层级的配置层;
包含相同函数的配置层不能结合;
每个结合形成的方案包含所述应用的所有函数。
5.根据权利要求4所述的基于FPGA的动态可重构硬件加速方法,其特征在于,还包括运行时管理步骤,包括:
提取各所述结合后的函数层的函数性能模型;
根据生成的各配置层和各所述函数性能模型提取每个配置层的性能模型;
根据各所述配置层的性能模型提取各方案的性能模型;
根据各所述方案的性能模型及数据处理量计算每个所述方案的运行时间;
根据所述数据处理量及每个所述方案的重构次数估算重构成本。
6.根据权利要求5所述的基于FPGA的动态可重构硬件加速方法,其特征在于,所述方案的性能模型包括:表示并行计算能力的并行度。
7.根据权利要求5所述的基于FPGA的动态可重构硬件加速方法,其特征在于,还包括应用步骤,包括:
提取各阶段需要处理的数据量;
读取每个应用的所有方案;
预测每个方案的运行时间以及重构成本;
根据重构成本,选取运行时间最少的方案予以执行,其中,执行方案在每个配置层运行时进行重构操作。
8.一种基于FPGA的动态可重构硬件加速系统,其特征在于,包括:
提取模块,用于提取应用程序的可重构数据流图,所述可重构数据流图包括:含有多个函数节点的函数层数据流图、及每个所述函数节点的含有多个运算节点的电路层数据流图;
计算模块,用于对于每个函数节点,从其中的起始运算节点起,计算其余各个运算节点的运算起始时间和运算结束时间,据以计算每个函数节点的运算起始时间和运算结束时间;
分层模块,用于在不改变各函数节点间原本的数据依赖的基础上,将所述函数层数据流图重新分层,每层包括按照函数节点内运算时间分开排序时在同一等级的电路;
合并模块,用于将拥有相同函数功能的函数层合并为同一函数层,合并后的各函数层依照预设规则结合,每个结合后的函数层成为一个独立的配置层,同一配置层中的函数并行运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳鲲云信息科技有限公司,未经深圳鲲云信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610824310.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种改进的异构多核任务调度的方法
- 下一篇:剪贴板中内容的生成方法及装置