[發明專利]一種提高OpenCL硬件執行效率的方法有效
| 申請號: | 201610039665.2 | 申請日: | 2016-01-20 |
| 公開(公告)號: | CN105447285B | 公開(公告)日: | 2018-11-30 |
| 發明(設計)人: | 程愛蓮;王文華 | 申請(專利權)人: | 杭州菲數科技有限公司 |
| 主分類號: | G06F17/50 | 分類號: | G06F17/50 |
| 代理公司: | 杭州知通專利代理事務所(普通合伙) 33221 | 代理人: | 姚宇吉 |
| 地址: | 310024 浙江省杭州市*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 提高 opencl 硬件 執行 效率 方法 | ||
本發明公開了一種提高OpenCL硬件執行效率的方法,包括以下步驟:編譯以OpenCL語言實現的kernel模塊,調用高級綜合工具生成verilog代碼;分析自動生成的verilog代碼的結構,記錄接口的信號、時序和功能;對verilog代碼進行手工修改和優化,并備份存檔;修改流程控制的腳本,插入文件替換命令,用優化后的verilog代碼替換編譯器自動生成的verilog代碼;重新運行OpenCL編譯器,生成最終的FPGA配置文件,本發明保留了完整的OpenCL環境與流程,通過解析OpenCL編譯環境的運行步驟和分析verilog代碼的結構與接口,使手工修改和優化自動生成的verilog代碼成為可能,從而提升kernel模塊性能,包括提高工作時鐘,實現更多的功能,充分利用FPGA的硬件資源,使OpenCL在FPGA平臺上的執行效率得到大幅度提高。
【技術領域】
本發明涉及一種提高OpenCL硬件執行效率的方法,特指是基于FPGA平臺上,實現OpenCL軟件代碼與高效率的FPGA硬件平臺協同工作的方法。
【背景技術】
OpenCL(OpenComputingLanguage)是第一個在異構系統之間建立統一編程環境的開放式且無版權稅的編程框架。OpenCL允許用戶使用基于C的編程語言進行跨平臺的程序開發,包括CPUs,GPUs,DSPs以及FPGAs等。它既是一種編程模型,也提供了一種設計方法學。OpenCL基于ANSIC標準(C99),為所面向的異構平臺提供了基于任務分割和數據分割的并行計算機制。主機程序與各個異構平臺之間通過應用編程接口(API,ApplicationProgramInterface)進行通信,保證任務調度能夠高效而均衡的完成。
以AlteraSDKforOpenCL(AOCL)工具為例,它是一套由Altera公司開發的、面向FPGA硬件平臺的OpenCL程序開發環境。AOCL工具提供了OpenCL編譯器,利用高級綜合技術將OpenCL代碼轉換為verilog硬件描述語言,免去了繁重的FPGA硬件設計過程,實現了由高層描述語言OpenCL到FPGA平臺的直接映射。用戶在AOCL環境中開發程序時,首先將OpenCL程序分為主機執行部分和硬件平臺執行部分(即kernel),其中主機執行部分由標準的C編程器來處理,并生成x86平臺上的可執行程序;硬件平臺執行部分由OpenCL編譯器來處理,使用高級綜合技術生成verilog代碼,然而調用Altera的綜合工具QuartusII來完成后續的綜合、布局、布線等步驟,生成可下載的FPGA配置文件,作為參考,附圖2中給出了上述過程的流程示意圖。
OpenCL代碼到FPGA平臺的直接映射,縮短了面向FPGA實現方案的開發周期,降低了FPGA平臺的開發難度,極大的便利了軟件工程師對FPGA的使用,即不需要對FPGA有深入的了解,也可以實現面向FPGA的設計和編程。但是在獲得便利性的同時也犧牲了FPGA的性能。由于對FPGA編程的verilog代碼是由高級綜合工具自動生成的,在生成的過程中使用了模板、統一化的接口和保證時序收斂的緩存邏輯等,所以必然會浪費一定的FPGA資源。而且隨著功能復雜度的提高,高級綜合工具的優化效果也會明顯下降,FPGA資源占用過多,又會進一步降低其工作頻率,所以使用OpenCL實現的方案,其性能可能會大幅低于直接使用verilog語言實現的方案。
提高OpenCL在FPGA硬件平臺上執行效率的方法有很多種,包括任務調度層面,算法結構層面,編譯參數層面以及硬件邏輯層面等,所述如下:在任務調度方面,開發者可以根據FPGA所提供的資源類型選擇合適的加速任務,例如邏輯與或運算、移位、比較等任務都是FPGA所擅長的;根據FPGA所包含的DSP數目來處理適量的定浮點乘加運算。
在算法結構方面,開發者可以充分利用FPGA的特殊資源,比如內部存儲單元、DSP、硬浮點單元、移位寄存器等,簡單高效的處理特定運算。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州菲數科技有限公司,未經杭州菲數科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610039665.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種預測葉輪顫振的方法
- 下一篇:一種保障性分析的FMEA的分析方法





