CUDA(Compute Unified Device Architecture,統一計算架構)是由英偉達所推出的一種集成技術,向用戶提供了可以很優雅地調用GPU進行並行計算的編程接口。
然而對於很多剛接觸這門技術的人來說,怎么把一個簡單的cuda程序跑起來卻也是一個“說大不大,說小不小”的問題。我大致整理出了在Windows上搭建cuda開發環境的方案,勉勉強強可以被當作一份參考。
此處我的目標主要為:完成對簡單CUDA C
程序的編譯和運行。
當然,要搭建一個真實的cuda開發環境,得先確保自己電腦是支持cuda的。(安裝了英偉達顯卡的應該都沒問題)
命令行編譯
-
首先去英偉達官網下載一個
-
安裝完成后,試試
nvcc -V
查看是否是否能正常使用nvcc,如果不能的話,去環境變量中檢查一下類似C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin\
這樣的值有沒有被加到Path
里,如果沒有的話記得手動加一下(記得使用自己的真實的CUDA工具包的安裝位置,不要直接復制我這里的)。添加完成后記得要重新打開一個cmd或shell才能正常加載。 -
創建一個cuda程序
hello.cu
,參考程序附於文末;在當前目錄使用nvcc -o hello hello.cu
進行編譯,如果一切正常,這個目錄中將出現hello.exe
,hello.exp
,hello.lib
這幾個文件。但通常來說,這里會出現找不到cl
的情況。-
如果沒有安裝
Visual Studio
的話,先安裝一個 -
找到cl.exe的位置,並將該目錄加入到環境變量
Path
中,我這里給出一個參考:D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64
-
使用Visual Studio
-
首先如果沒有安裝VC的話當然是需要先安裝一個,至於安裝的時候具體要選哪些模塊,我現在也還不是很清楚,也沒來得及去驗證。
-
當然
-
進到VS中創建一個
CUDA Runtime
項目 -
給項目配置CUDA工具包路徑
-
點擊
Project
,然后點擊 -
點擊
[項目名] Properties
-
-
附:CUDA HelloWorld
#include <stdio.h> __global__ void cuda_hello(){ printf("Hello World from GPU!\n"); } int main() { cuda_hello<<<1,1>>>(); return 0; }