最近又有新的項目要做了,這次是關於CUDA---多核高性能計算的問題,所以最近一直在學習CUDA的編程問題,昨天安裝軟件完畢,運行第一個程序的時候還是遇到很多問題。所以這里給大家一起分享一下, 有和我一樣初學CUDA的同志一起來吧。
安裝 你需要的軟件有四種:
其中,cuda的devdriver是不用安裝的,當然,你可以下載最新版本安裝一下。
然后就是下載,注意,你下載的所有的軟件和你計算機上的VS所用的位數要匹配,例如,我的手提是64位的,VS也是64位的,所以我下載的軟件都是64位的。(如果版本不匹配,等到編譯的時候會有很大問題)
CUDA下載:
http://developer.nvidia.com/object/cuda_3_0_downloads.html
CUDA VS Wizard下載:
http://sourceforge.net/projects/cudavswizard/
別忘了記住自己的安裝路徑,我都是默認安裝的,我的安裝路徑如下:
CUDA toolkit : C:\Program Files\NVIDIA GPU Computing Toolkit
CUDA driver: D:\NVIDIA\DisplayDriver
CUDA SDK: C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.0
SDK是例子的集合,等到編寫程序的時候可以把例子調出來看看,運行一下,也可以用來檢測自己編程環境是否搭好。
確保自己的軟件和vs都是同樣的位數(都是32位,或者是都是64位),安裝成功之后,打開vs(我用的是vs2005),新建項目-》項目類型中看到如下新的語言種類的項目:
運行template
你的第一個小程序,檢驗自己的CUDA環境是否搭建成功
打開自己sdk的安裝路徑-》c->src,我的是:C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 3.2\C\src\template src文件夾中都是一些可以運行的例子,先打開template這個文件夾,雙擊打開這個例子:
在vs的項目資源管理器里面,你可以看到一個.cu的文件,但是那個文件里面的關鍵字都沒有顯示高亮,那么要怎么辦呢?
語法高亮
在NVDIA CUDA SDK\doc\syntax_highlighting 文件下有visual_studio_7和visual_studio_8,分別包含用於VS.net/7和VS.net 2005/vs 8的高亮顯示
1、將%NVIDIA GPU Computing SDK%\C\doc\syntax_highlighting\visual_studio_8下的 nVidia 寫好的語法文件usertype.dat復制到%Visua Studio%\Common7\IDE下;
2、啟動Visual Studio,選擇“工具” > “選項” > “文本編輯器” > “文件擴展名”,擴展名設為cu,編輯器選擇Microsoft Visual C++,點擊“確定”;
3、重啟Visual Studio。
編譯規則的添加
使用CUDA VS Wizard
CUDA VS Wizard是Openhero編寫的、開源的、面向Visual Studio的工具。安裝完成后,在Visual Studio中新建項目時會出現CUDAWinApp的模板,從這個模板建立項目可以省去很多設置;
1、添加編譯規則
在解決方案資源管理器里面,找到你剛剛打開的項目template,右鍵點擊這個項目,點擊屬性
"屬性“ > ”鏈接器“ > "輸入" > ”附加依賴項“中添加”cudart.lib cutil64D.lib“。(如果是使用32位機子的添加cudart.lib cutil32D.lib)
注意上圖,如果是64位軟件的同學,一定要把debug選項溝上*64
2 添加其他文件規則:
(1).在NVIDIA CUDA SDK\common目錄下找到cuda.rules(這個根據每個人安裝的軟件不一樣,
如果是3.2以后的版本
默認是在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v3.2\extras\visual_studio_integration\rules)
(2).打開VS環境,單擊Tools→Options→Projects and Solutions→VC++Project Settings,在C/C++ File Extensions里添加*.cu,在Extensions To Include里添加*.cuh,在Rule File Search Paths里添加~NVIDIA CUDA SDK\common,即cuda.rules文件所在目錄。
(3).重啟VS。
配置完成后,雙擊CPP文件,點擊編譯運行。
得到如下的運行結果,就說明配置成功
vs對CUDA編程的支持並不足夠,所以很多地方需要自己配置,遇到問題的時候及時搜索解決方案。
更多內容請點擊:
CUDA專區:http://cuda.it168.com/
CUDA論壇:http://cudabbs.it168.com/