CUDA學習中的新手問題 (轉)

 CUDA學習中的新手問題
2010/03/05 15:01

畢業設計要做基於GPU的並行運算之類的東東,所以最近在學CUDA啦,昨天開始安那些亂七八糟的東東,敲示例程序,折騰到現在,終於可以運行了。VS對CUDA的支持還是不夠啊,編個程序要改環境變量還要加這個加那個,而且沒有像Java一樣被驗證的完全好用的方法,真累人。現在小幻來總結下。

先說CUDA的安裝與配置

1.http://developer.nvidia.com/object/cuda_2_3_downloads.html選擇相應的操作系統,下載最新的CUDA driver、CUDA toolkit 、CUDA SDK code samples。按照這個順序裝好這些東東,期間它會自己添加一些環境變量,默認路徑可以改變。

這裏要說的是,如果之前已經安裝了低版本的CUDA環境,要先卸掉,才能安最新的。還有,小幻試過,專用的CUDA driver小幻裝的時候,程序提示找不到相關驅動,這裏只要我們的顯卡支持CUDA,用標準的顯卡驅動就可以了。小幻的顯卡是8400M GS,計算能力1.1,更新驅動到最新版本,就OK了。

安裝的時候,在安裝流程的最後會提示是否要安一個Wizard,這是建立工程的嚮導,小幻安環境的時候有提示,但是當時沒有安,後來才自己下了一個安好,走了很多彎路。所以還是建議大家在一開始就安好,後面會用到的。剛開始沒有安的童靴們,這裏給一個地址大家。

http://sourceforge.net/projects/cudavswizard/

有32位的,有64位的,大家請根據自己的情況選擇。另外,本文中提到所有狀況都是在Win7環境下,VS2008開發環境中的狀況,適合Windows XP以及其他後續Windows版本,但是不一定適用其他系統。CUDA現下支持的系統還有Linux以及Mac OS X,這裏不多說了。

2.接下來,我們可以編譯SDK裏的例子,~\projects\deviceQuery檢驗CUDA環境有沒有安裝成功。順便提下,CUDA目前支持VS6.0、VS2003,VS2005、VS2008等IDE開發環境。

3.然後我們就可以建立自己的CUDA程序啦~CUDA SDK提供了很多sample,其中最基本的是template,我們可以以它爲模板來建立自己的程序。把文件拷到自己的開發目錄下,然後再修改編譯執行。當然,我們也可以改其他我們認爲合適的sample。

另一種方法比較容易被接受,就是用嚮導建立工程的好處就是,不用自己去改那麼多的變量,可以專心在程序上。但是即使如此,也會有小小的問題。小幻遇到有以下幾點:

a,新建一個console 應用,運行報錯:error PRJ0003:Error spawning 'cmd.exe'
搜了下解決方法:
tools=> Options => Projects and Solutions -> VC++ Directories page

then place below rows:

$(SystemRoot)\System32
$(SystemRoot)
$(SystemRoot)\System32\wbem
好了。

b,LINK : fatal error LNK1181: cannot open input file 'cutil32D.lib',會出現這個問題,師姐說是因爲例子中設了很多絕對路徑,直接那麼拷過來就會出錯。

編譯通過但調試時說找不到cutil32D.dll文件。小幻的解決方法:這個dll文件在CUDA SDK的C\bin\win32\Debug文件夾下,找到它,然後複製到CUDA\bin文件夾下就搞定了。

c,剛開始用嚮導建立工程的時候,小幻默認選了建立帶預編譯的工程,後來報錯說缺少'#include stdafx.h',要手動填進去。用預編譯可以縮短時間,這在做MFC程序時效率很高,但是對於我們新手來說好像沒什麼必要,我們還只是在學習階段,也不會用到Windows的那些頭文件,所以小幻建議大家在最開始建立工程時,選擇空工程,系統不會多添代碼進去,也就沒那麼多奇怪的錯誤啦。

高亮顯示:

用慣VS的童靴們也許產生疑問,怎麼.cu文件的文本都是一個顏色呢,而不是像以前寫C/C++程序的時候,保留字啊之類的東東都會用別的顏色標出來。小幻來教你怎麼高亮顯示。

CUDA SDK\doc\syntax_highlighting文件夾下有visual_studio7和visual_studio8兩個目錄,分別包含用於VS.NET/7和VS.NET2005/VS8高亮顯示的相關文件與說明。對於VS2005跟VS2008,用8那個版本。裏面有個readme的txt文件,跟着它做就OK了。

Want pretty syntax highlighting when editing your .cu files in Visual Studio?
Heres how:

---
Visual Studio .Net 2005 / Visual Studio 8:

1. If you don't have a usertype.dat file in your "Microsoft Visual Studio 8\Common7\IDE" folder, then copy the included usertype.dat file there. If you do, append the contents of the included usertype.dat onto the end of the "Microsoft Visual Studio 8\Common7\IDE\usertype.dat"

//打開的安裝目錄下除了read.txt之外,還有usertype.dat文件,將這個文件拷貝到Microsoft Visual Studio 8\Common7\IDE目錄下。(如果已經存在,就追加到原來的後面)

2. Start Visual Studio 8. Select the menu "Tools->Options...". Open "Text Editor" in the tree view on the left, and click on "File Extension". Type cu in the "Extension" box, and click "Add". Click "OK" on the dialog box.

//啓動vs2005,選擇“工具”菜單中的“選項”,選擇“文本編輯器”中的“文件擴展名”,在右邊的“擴展名”對應的欄裏輸入“cu”,單擊“確定”。

3. Restart Visual Studio and your shaders should now have syntax highlighting.

//重啓VS。然後就可以高亮顯示啦~~~

看到網上有些人說還要改註冊表,根本不用的。

規則添加

1.在NVIDIA CUDA SDK\common目錄下找到cuda.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。

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