[發(fā)明專利]一種基于OpenCL的FPGA圖處理加速方法和系統(tǒng)有效
| 申請?zhí)枺?/td> | 201911029448.5 | 申請日: | 2019-10-25 |
| 公開(公告)號: | CN110852930B | 公開(公告)日: | 2021-06-29 |
| 發(fā)明(設(shè)計)人: | 廖小飛;趙杰山;鄭龍;金海;王慶剛 | 申請(專利權(quán))人: | 華中科技大學(xué) |
| 主分類號: | G06T1/20 | 分類號: | G06T1/20;G06F15/78;G06F9/30;G06F9/38 |
| 代理公司: | 華中科技大學(xué)專利中心 42201 | 代理人: | 李智 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 opencl fpga 處理 加速 方法 系統(tǒng) | ||
1.一種基于OpenCL的FPGA圖計算加速方法,其特征在于,該方法包括以下步驟:
S1.對基于OpenCL編寫的圖計算編譯生成的匯編文件,反匯編得到中間代碼IR;
S2.根據(jù)中間代碼IR,生成完整的控制數(shù)據(jù)流圖CDFG;
S3.對完整的控制數(shù)據(jù)流圖CDFG,根據(jù)Load指令和Store指令進(jìn)行重新分塊,得到CDFG指令塊,同時確定各CDFG指令塊之間的并行模式;
S4.對所有CDFG指令塊中的Load指令和Store指令進(jìn)行分析,確定FPGA片上BRAM的劃分方式;
S5.采用步驟S4中BRAM的劃分方式,對FPGA片上內(nèi)存進(jìn)行重新組織,根據(jù)CDFG指令塊之間的并行模式,將所有CDFG指令塊翻譯成相應(yīng)的硬件描述語言,將其編譯生成可在FPGA上面運(yùn)行的二進(jìn)制文件,燒至到FPGA上面進(jìn)行運(yùn)行。
2.如權(quán)利要求1所述的方法,其特征在于,步驟S2包括以下步驟:
S21.對中間代碼IR的每個基礎(chǔ)指令塊進(jìn)行分析,確定指令之間的依賴關(guān)系;
S22.根據(jù)指令之間的依賴關(guān)系,將各個基礎(chǔ)指令塊轉(zhuǎn)化為對應(yīng)的控制數(shù)據(jù)流圖CDFG;
S23.對每個基礎(chǔ)指令塊中的訪存操作指令和同步操作指令進(jìn)行標(biāo)記,對存在調(diào)用關(guān)系的基礎(chǔ)指令塊對,在具有相同別名的變量時在兩個基礎(chǔ)指令塊中進(jìn)行標(biāo)記;
S24.對各基礎(chǔ)指令塊轉(zhuǎn)化成的控制數(shù)據(jù)流圖CDFG,根據(jù)是否具有相同別名變量標(biāo)記,拼接為完整的控制數(shù)據(jù)流圖CDFG。
3.如權(quán)利要求1所述的方法,其特征在于,步驟S3包括以下步驟:
S31.對完整的控制數(shù)據(jù)流圖CDFG進(jìn)行BFS遍歷,實(shí)現(xiàn)對完整的控制數(shù)據(jù)流圖CDFG的分塊,得到重新劃分后的CDFG指令塊;
S32.根據(jù)CDFG指令塊的片上邏輯的頻率,確定存在調(diào)用關(guān)系的CDFG指令塊之間的并行模式;
S33.根據(jù)CDFG指令塊之間的并行模式,確定CDFG指令塊之間進(jìn)行信息傳遞所需要的緩存區(qū)的大小,再根據(jù)緩存區(qū)的大小對FPGA片上的BRAM進(jìn)行數(shù)據(jù)的劃分。
4.如權(quán)利要求3所述的方法,其特征在于,步驟S31包括以下步驟:
S311.從完整的控制數(shù)據(jù)流圖CDFG的根節(jié)點(diǎn)出發(fā),進(jìn)行BFS遍歷,每一次遍歷的步長選擇同一層所有計算時延最小的值;
S312.在遍歷的過程中,如果發(fā)現(xiàn)FIFO指令或者REGISTER指令,則需確認(rèn)是否是REGISTER指令到REGISTER指令或FIFO指令到FIFO指令,如果是,則需將REGISTER指令或FIFO指令的深度進(jìn)行累加,如果不是,則繼續(xù)執(zhí)行;
S313.在遍歷的過程中,如果發(fā)現(xiàn)Load指令或者Store指令,則停止本次遍歷,將遍歷到的所有指令放到同一個CDFG指令塊中;
S314.從剛剛停止的Load指令或Store指令對應(yīng)的節(jié)點(diǎn)開始,進(jìn)行BFS遍歷,每一次遍歷的步長選擇同一層所有計算時延最小的值,進(jìn)入步驟S312重復(fù)遍歷直到遍歷到所有的指令。
5.如權(quán)利要求3所述的方法,其特征在于,步驟S32包括以下步驟:
S321.分別對每一個指令塊進(jìn)行計算它們片上邏輯的頻率;
S322.根據(jù)存在調(diào)用關(guān)系的CDFG指令塊對的片上邏輯的頻率,確定指令塊之間的并行模式。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華中科技大學(xué),未經(jīng)華中科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911029448.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種畫質(zhì)調(diào)節(jié)方法及系統(tǒng)
- 一種向量點(diǎn)積的OpenCL自動化實(shí)現(xiàn)方法
- 一種提高OpenCL硬件執(zhí)行效率的方法
- 基于OpenCL移動設(shè)備QC-LDPC的動態(tài)譯碼方法
- 基于Andorid平臺的OpenCL圖像處理方法
- 程序的加載方法、裝置、系統(tǒng)以及電子設(shè)備
- 基于FPGA的Tensorflow系統(tǒng)加速的設(shè)計方法
- 一種基于OpenCL的雙目立體匹配方法
- 一種OpenCL內(nèi)核提交的方法及裝置
- 面向軟件超結(jié)點(diǎn)的OpenCL編程框架構(gòu)建方法和裝置





