安裝開發環境可以參照DE4-530的OpenCL開發環境搭建(最終版),這篇文章的大部分內容轉載自:http://www.verydemo.com/demo_c92_i226325.html
AMD的Heterogeneous Computing有很多AMD的OpenCL資料,包括各種分析工具,是個很不錯的OpenCL學習站點。
因為該文章寫的還不錯,所以就偷懶直接轉載過來了,當然還加了一些自己所遇到的問題解決方法。
首先你要裝好催化劑顯卡驅動。
安裝AMD APP SDK
下載AMD APP SDK安裝包,比如64的就叫AMD-APP-SDK-v2.4-Windows-64.exe,安裝AMD APP SDK,如圖1。
圖1
安裝完之后重新啟動。
首先知道一下安裝的位置,我這里按默認裝在了 C:\Program Files (x86)\AMD APP\ ,如圖2。
圖2
系統安裝的時候系統已經設置了一個環境變量AMDAPPSDKROOT來指示安裝的位置,可以在cmd里查看,如圖3。
圖3
系統也已經把可執行路徑加到了PATH里,這樣就可以找到OpenCL的運行庫。如圖4。
圖4
生成OpenCL工程
打開一個已有的OpenCL項目,或者新建一個項目。
如果新建項目,點擊文件->新建,建立一個空項目。加入一個自己寫的HellowCL之類的源碼,如果沒有,我這里寫了一個初始化的小源碼,諸位可以自行下載添加,結果如圖5。OpenclConfig.cpp
圖5
?
配置OpenCL工程
如果不進行配置的話,則會在“生成->生成解決方案”時,提示以下錯誤
“fatal error C1083:?無法打開包括文件:“CL/cl.h”: No such file or directory”
所以,需要進行以下配置
因為安裝包已經在系統的PATH路徑里加入了動態鏈接庫的路徑,所以就沒有必要再在VS里添加了,我們需要做的就是添加需要的包含目錄和庫目錄,為了同時兼容32位和64位系統,需要對32位系統和64位系統差異對待。如果你只考慮單個平臺下的配置,那么只需要以下內容中相應平臺的配置即可。
64位獨有的配置
由于默認的環境是Win32,我們在這里添加一個x64的平臺支持,前提是你安裝了64位的編譯器,如果你不需要64位,那么往下看即可。直接進入“一. 通用配置”。
1. 左側項目名右鍵->屬性
2. 看到屬性頁窗口之后,點擊右上方的配置管理器,
3. 在配置管理器中下拉,選擇<新建>
4. 在鍵入或選擇新平臺中下拉,選擇x64,確定
以上過程如圖6。
圖6
一、通用配置,32位和64位都得有的,打開項目屬性頁:
(1)左上角配置選所有配置,平臺選所有平臺
(2)C/C++->常規->附加包含目錄添加$(AMDAPPSDKROOT)\include,如圖7。
圖7
(3)鏈接器->輸入,附加依賴項里加入OpenCL.lib,如圖8。
圖8
二、32位獨有的配置,項目屬性頁中:
(1)左上角配置選所有配置,平臺選Win32
(2)鏈接器->常規附加庫目錄,加入$(AMDAPPSDKROOT)\lib\x86,如圖9。
圖9
三、64位獨有的配置,項目屬性頁中:
(1)左上角配置選所有配置,平臺選x64
(2)鏈接器->常規附加庫目錄,加入$(AMDAPPSDKROOT)\lib\x86_64,如圖10。
圖10
以上配置完成之后即可編譯運行,在上面給出的代碼中,如果看到圖11,說明編譯運行成功。(由于程序不同,所以我的現象不是這樣的,結果在后面的圖中)
圖11
如果32位和64位的都配置好了,可以在工具欄里選擇Debug/Release,Win32/x64的任意組合進行編譯。
望大家Coding愉快!
此時點擊“生成 -> 生成解決方案”成功,不會有任何問題
?
調試OpenCL工程
點擊綠色按鈕(啟動調試),此時出現如下信息:
“已加載“C:\Windows\System32\IPHLPAPI.DLL”,Cannot find or open the PDB file”
進入“調試 -> 選項和設置?
圖12
這個時候則基本能運行我們的程序。(雖然還有部分同樣的信息,但是貌似不影響)
我所運行的程序是“AMD APP\samples\opencl\cl\app\HelloWorld”的程序(在安裝AMD APP SDK后會有這樣的實例文件夾),輸出“HelloWorld”則表示運行成功,由于正常調試時輸出顯示窗口一晃而過,所以我在釋放資源之前加了一個斷點進行調試。其結果為圖13。
圖13
至此,則將VS2010的OpenCL程序基本運行成功,可以進行下一步的學習!