[發(fā)明專利]基于FPGA的動態(tài)可重構(gòu)硬件加速方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201610824310.4 | 申請日: | 2016-09-14 |
| 公開(公告)號: | CN106648883B | 公開(公告)日: | 2020-02-04 |
| 發(fā)明(設(shè)計)人: | 牛昕宇 | 申請(專利權(quán))人: | 深圳鯤云信息科技有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 31219 上海光華專利事務(wù)所(普通合伙) | 代理人: | 徐秋平 |
| 地址: | 518000 廣東省深圳市福田區(qū)福*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 fpga 動態(tài) 可重構(gòu) 硬件加速 方法 系統(tǒng) | ||
1.一種基于FPGA的動態(tài)可重構(gòu)硬件加速方法,其特征在于,包括:
提取應(yīng)用程序的可重構(gòu)數(shù)據(jù)流圖,所述可重構(gòu)數(shù)據(jù)流圖包括:含有多個函數(shù)節(jié)點的函數(shù)層數(shù)據(jù)流圖、及由每個所述函數(shù)節(jié)點所含有的多個運算節(jié)點所構(gòu)成的電路層數(shù)據(jù)流圖;
對于每個函數(shù)節(jié)點,從其中的起始運算節(jié)點起,計算其余各個運算節(jié)點的運算起始時間和運算結(jié)束時間,據(jù)以計算每個函數(shù)節(jié)點的運算起始時間和運算結(jié)束時間;
在不改變各函數(shù)節(jié)點間原本的數(shù)據(jù)依賴的基礎(chǔ)上,將所述函數(shù)層數(shù)據(jù)流圖重新分層,每層包括按照函數(shù)節(jié)點內(nèi)運算時間分開排序時在同一等級的電路;
將擁有相同函數(shù)功能的函數(shù)層合并為同一函數(shù)層,合并后的各函數(shù)層依照預(yù)設(shè)規(guī)則結(jié)合,每個結(jié)合后的函數(shù)層成為一個獨立的配置層,同一配置層中的函數(shù)并行運行。
2.根據(jù)權(quán)利要求1所述的基于FPGA的動態(tài)可重構(gòu)硬件加速方法,其特征在于,所述依照預(yù)設(shè)規(guī)則結(jié)合,包括:依照排序順序從低層到高層逐一結(jié)合。
3.根據(jù)權(quán)利要求1所述的基于FPGA的動態(tài)可重構(gòu)硬件加速方法,其特征在于,所述計算每個函數(shù)節(jié)點的運算起始時間和運算結(jié)束時間,包括:
取各起始運算節(jié)點的運算起始時間作為各函數(shù)節(jié)點的運算起始時間;
取各運算節(jié)點中最大的運算結(jié)束時間作為各函數(shù)節(jié)點的運算結(jié)束時間。
4.根據(jù)權(quán)利要求1所述的基于FPGA的動態(tài)可重構(gòu)硬件加速方法,其特征在于,還包括方案層生成步驟,從而使同一應(yīng)用能采用不同配置層的組合來完成整個函數(shù)的執(zhí)行,包括:
每個配置層根據(jù)配置中排序最高的函數(shù)層級尋找包含下一函數(shù)層級的配置層;
包含相同函數(shù)的配置層不能結(jié)合;
每個結(jié)合形成的方案包含所述應(yīng)用的所有函數(shù)。
5.根據(jù)權(quán)利要求4所述的基于FPGA的動態(tài)可重構(gòu)硬件加速方法,其特征在于,還包括運行時管理步驟,包括:
提取各所述結(jié)合后的函數(shù)層的函數(shù)性能模型;
根據(jù)生成的各配置層和各所述函數(shù)性能模型提取每個配置層的性能模型;
根據(jù)各所述配置層的性能模型提取各方案的性能模型;
根據(jù)各所述方案的性能模型及數(shù)據(jù)處理量計算每個所述方案的運行時間;
根據(jù)所述數(shù)據(jù)處理量及每個所述方案的重構(gòu)次數(shù)估算重構(gòu)成本。
6.根據(jù)權(quán)利要求5所述的基于FPGA的動態(tài)可重構(gòu)硬件加速方法,其特征在于,所述方案的性能模型包括:表示并行計算能力的并行度。
7.根據(jù)權(quán)利要求5所述的基于FPGA的動態(tài)可重構(gòu)硬件加速方法,其特征在于,還包括應(yīng)用步驟,包括:
提取各階段需要處理的數(shù)據(jù)量;
讀取每個應(yīng)用的所有方案;
預(yù)測每個方案的運行時間以及重構(gòu)成本;
根據(jù)重構(gòu)成本,選取運行時間最少的方案予以執(zhí)行,其中,執(zhí)行方案在每個配置層運行時進(jìn)行重構(gòu)操作。
8.一種基于FPGA的動態(tài)可重構(gòu)硬件加速系統(tǒng),其特征在于,包括:
提取模塊,用于提取應(yīng)用程序的可重構(gòu)數(shù)據(jù)流圖,所述可重構(gòu)數(shù)據(jù)流圖包括:含有多個函數(shù)節(jié)點的函數(shù)層數(shù)據(jù)流圖、及每個所述函數(shù)節(jié)點的含有多個運算節(jié)點的電路層數(shù)據(jù)流圖;
計算模塊,用于對于每個函數(shù)節(jié)點,從其中的起始運算節(jié)點起,計算其余各個運算節(jié)點的運算起始時間和運算結(jié)束時間,據(jù)以計算每個函數(shù)節(jié)點的運算起始時間和運算結(jié)束時間;
分層模塊,用于在不改變各函數(shù)節(jié)點間原本的數(shù)據(jù)依賴的基礎(chǔ)上,將所述函數(shù)層數(shù)據(jù)流圖重新分層,每層包括按照函數(shù)節(jié)點內(nèi)運算時間分開排序時在同一等級的電路;
合并模塊,用于將擁有相同函數(shù)功能的函數(shù)層合并為同一函數(shù)層,合并后的各函數(shù)層依照預(yù)設(shè)規(guī)則結(jié)合,每個結(jié)合后的函數(shù)層成為一個獨立的配置層,同一配置層中的函數(shù)并行運行。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于深圳鯤云信息科技有限公司,未經(jīng)深圳鯤云信息科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610824310.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于可重構(gòu)部件的集成電路和設(shè)計方法
- 信號處理裝置、信號處理方法、信號處理用集成電路及電視接收機
- 可重構(gòu)系統(tǒng)及其構(gòu)建方法
- 一種面向多個粗粒度動態(tài)可重構(gòu)陣列的共享數(shù)據(jù)緩存裝置及控制方法
- 一種可重構(gòu)系統(tǒng)的動態(tài)局部重構(gòu)控制器及其控制方法
- 可重構(gòu)射頻孔徑
- 可重構(gòu)系統(tǒng)故障分析方法和裝置
- 一種運行時動態(tài)請求可重構(gòu)核的優(yōu)化方法
- 一種可重構(gòu)系統(tǒng)的動態(tài)精度仿真控制器及方法
- 可重構(gòu)天線和可重構(gòu)天線系統(tǒng)





