OpenCL學習(一)——Windows平臺下搭建核顯的OpenCL運行環境

入坑OpenCL一週左右,萬事開頭難,但是發現後面的學習也不容易。。

通過設備管理器查看到自己的電腦配置的是Intel核顯HD530,以下是自己搭建OpenCL運行環境的流程。

1)下載並安裝Intel的SDK for OpenCL

打開網址https://software.intel.com/en-us/opencl-sdk/choose-download,選擇SDK for OpenCL進行下載,下載之前需要使用郵箱註冊。

下載完畢後使用管理員權限正常安裝,安裝包會把開發用到的.h文件和庫文件放入安裝目錄(我的是在C:\Program Files (x86)\IntelSWTools\OpenCL),並將頭文件/庫文件路徑加入系統路徑中。

2)環境測試

現在需要測試開發環境是否搭建成功,下載Intel提供的一個測試代碼,解壓後用VS打開。我安裝的是VS2015,打開後會將項目工程(VS2010版)進行升級,之後編譯成功,運行後命令行窗口打印出獲取到的有關OpenCL設備的信息,如下圖所示,表明OpenCL運行環境已經成功配置。

3)自己搭建OpenCL工程

第二步下載到的示例代碼文件夾解壓後,有一個templates文件夾,其中放置了x86/x64下debug/release模式的項目屬性表。我們可以在自己新建的工程項目中按需添加這些屬性表,即可完成對OpenCL的頭文件、庫文件的引用,十分方便。

這裏以《OpenCLInAction》中示例代碼爲例說明搭建OpenCL工程的流程。新建一個控制檯工程,將示例代碼的源文件加入該工程中,之後將上述的屬性表按需加入項目的屬性管理器中,完成對OpenCL的頭文件、庫文件的引用;之後進行編譯,咦,出錯了,告訴我調用的OpenCL函數被聲明爲已否決

查看頭文件中的定義發現,之前安裝的OpenCL版本已經是2.1了,頭文件中默認拋棄了之前版本中的舊接口函數,而加入的《OpenCLInAction》中示例代碼調用的就是1.2版本接口函數。解決方法就是在包含cl.h之前加入CL_USE_DEPRECATED_OPENCL_X_X_APIS的宏定義,我需要調用1.2版本的接口,按照如下設置

#define CL_USE_DEPRECATED_OPENCL_1_2_APIS
#ifdef MAC
#include <OpenCL/cl.h>
#else
#include <CL/cl.h>
#endif

再次編譯沒有產生錯誤,大功告成,可以開始愉快地擼代碼了~

4)參考

https://www.cnblogs.com/Reyzal/p/7389993.html

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章