[發明專利]一種在FPGA上實現的CUDA內核的方法在審
申請號: | 201611194611.X | 申請日: | 2016-12-22 |
公開(公告)號: | CN106777710A | 公開(公告)日: | 2017-05-31 |
發明(設計)人: | 李延凱;龔俊;陳剛;唐建 | 申請(專利權)人: | 中國兵器裝備集團自動化研究所 |
主分類號: | G06F17/50 | 分類號: | G06F17/50 |
代理公司: | 中國工程物理研究院專利中心51210 | 代理人: | 翟長明,韓志英 |
地址: | 621000 四*** | 國省代碼: | 四川;51 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | 一種 fpga 實現 cuda 內核 方法 | ||
技術領域
本發明涉及一種在FPGA上實現的CUDA內核的方法,使用FPGA進行科學運算和圖像處理領域,特別是涉及一種在FPGA上實現的CUDA內核并行算法的方法。
背景技術
目前,FPGA和GPGPU已經成為科學運算和圖像處理的一個重要組成部分,兩者均能夠提供高度的并行運算性能。在設計和開發流程上,FPGA開發和GPGPU開發有著本質的區別,FPGA開發使用HDL語言VHDL或者Verilog;GPGPU使用Nvidia公司的CUDA語言,且這兩種語言無法交替使用。
使用Nvidia公司的CUDA編程模型,可實現高度并行任務的處理,尤其在科學運算和圖像分析領域,CUDA編程模型提供了一套通用的科學運算和圖像處理的應用程序接口(API)供用戶直接調用,使得程序員在應用中輕易完成細粒度和粗粒度并行算法。
HDL語言則是另一種不同與CUDA的計算機語言,HDL語言要求用戶對底層數字電路有很強的理論基礎和專業知識,編寫算法需要熟練的編程基礎和數字信號處理基礎,開發周期和難度遠遠大于CUDA編程模型。
最后,GPGPU能效比較低,GPGPU一般少則上百瓦,多則數百瓦,可以達到數TGFlops的浮點能力,而FPAG只需要十幾瓦,即可達到與GPGPU相當的浮點能力。在對與功率要求小,且處理能力強的應用場合,如無人系統和便攜式工作站,FPGA的優勢則會得到很大的體現。
為此,在使用者層面,希望能用簡單的方法實現復雜的功能,這里提及一種在FPGA上實現的CUDA內核的方法,從而達到在FPGA上運行具有高度并行運算能力的CUDA內核。
發明內容
本發明的目的為解決背景技術所描述的問題,提供[一種在FPGA上實現的CUDA內核的方法]。
其硬件平臺連接為:將安裝有Vivado設計開發環境的計算機,通過FPGA仿真器,與FPGA硬件平臺相連;本發明選用的FPGA仿真器為Xilinx DLC9G USB 仿真器,其具備Xilinx全系FPGA在線仿真及執行文件下載功能。將該仿真器一端接計算機USB端口,另一端接FPGA JTAG端口。FPGA硬件開發平臺選用Xilinx VC707開發平臺,FPGA型號為Virtex-7 XC7VX485T。
在上述硬件開發平臺之上,開發步驟如下:
(1)在安裝有CUDA編程模型的計算機中,找到所需要的并行算法,并提取CUDA開發環境中C/C++并行算法工程文件.cpp以及支持庫文件.h。(2)將算法工程文件以及庫文件導入至Vivado HDL設計開發環境中(3)根據實際需求,修改和調試算法函數。(4)將調試好的函數以及算法工程文件進行編譯和綜合,生成RTL文件。(5)將RTL文件導入至頂層Verilog/VHDL設計,進行邏輯綜合、生成FPGA可執行文件.bin。(6)通過下載線將可執行文件下載至FPGA運行,完成從CUDA C/C++并行算法到FPGA的移植工作。
其中,對于更具實際需求,修改和調試算法函數包括以下步驟:
(1)根據實際需求,修改CUDA算法接口函數,使其與應用相匹配。(2)將修改后的算法通過仿真命令,在Vivado HDL中進行仿真運行,檢查輸入值與輸出值是否與應用相匹配。(3)將調試后的算法,進行編譯和綜合。
附圖說明
為了更清楚地說明本發明實施例,下面將對實施例中所需要使用的附圖做簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明提供的一種在FPGA上實現的CUDA內核的方法的流程圖;
圖中100.CUDAC/C++并行算法代碼,圖中200.FCUDA編譯器,圖中300.Vivado HLS 工具,圖中400.生成RTL描述語言,圖中500.與頂層語言相結合進行綜合,生成FPGA可執行文件。
圖2為本發明中硬件連接框圖;
圖中將仿真器2一端接計算機1 USB端口,另一端接FPGA JTAG 4端口。FPGA硬件開發平臺3選用Xilinx VC707開發平臺,FPGA型號為Virtex-7 XC7VX485T。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國兵器裝備集團自動化研究所,未經中國兵器裝備集團自動化研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611194611.X/2.html,轉載請聲明來源鉆瓜專利網。