一直很想做cuda GPU編程,很早就將CUDA9.0安裝好了,後面就沒怎麼管它,忙別的去了。敲黑板,劃重點,我科研還是很努力的,可是很多人看不見罷了。之前一直在使用粒子方法進行流體模擬,計算時間極其漫長,周末想了想,自己來做一個大型顯式動力學分析軟體,學學CUDA編程是不錯的。所以現在為大家呈上熱 ...
一直很想做cuda-GPU編程,很早就將CUDA9.0安裝好了,後面就沒怎麼管它,忙別的去了。敲黑板,劃重點,我科研還是很努力的,可是很多人看不見罷了。之前一直在使用粒子方法進行流體模擬,計算時間極其漫長,周末想了想,自己來做一個大型顯式動力學分析軟體,學學CUDA編程是不錯的。所以現在為大家呈上熱騰騰的一泡小白教程(調皮)。
首先到英偉達官網上下載安裝CUDA最新版,要註冊。其次,安裝vs2013或者更高版本。其實我感覺如果安裝Gfortran也是可以用的,只要有C++編譯器就行了。兩個安裝好後,不需要再額外設置什麼環境變數,用不上的。軟體安裝就介紹到這裡。
我主要給大家介紹兩種編譯方法,一種是使用VS編譯器編譯,一種是命令行nvcc編譯。
採用VS編譯CUDA文件:打開VS,新建項目,選擇CUDA9.1,其餘照常設置,會生成一個kernel.cu文件,但是現在還不可以調試,因為編譯器設置還不完全。選擇解決方案(test4),然後右鍵屬性,編輯cuda c/c++,設置編譯器到安裝目錄下NVIDIA GPU Computing Toolkit\CUDA\v9.1。註意,安裝路徑以及文件存放路徑都儘量別有中文路徑。CTRL+FN+F5編譯運行,顯示計算成功。
採用nvcc編譯:我個人一直不怎麼喜歡使用編譯器,而是喜歡命令行編譯,這樣對編譯器的依賴會降低,提高自己寫程式,查錯誤的能力,而且,最關鍵的是很少涉及版權問題。首先新建如下的文件,推薦使用notepad++或者sublime,保存為x.cu文件(我的是cuda.cu)。以管理員身份運行cmd命令,cd進入存放文件的目錄,輸入以下命令:nvcc cuda.cu -o cuda,如果沒有報錯,再輸入./cuda就可以輸出,進入目錄文件夾還會看到生成一系列文件,cuda.exe就是編譯好的可執行文件,但是並不能直接執行。必須在命令行才行。