1. 程式人生 > 其它 >Windows搭建cuda開發環境

Windows搭建cuda開發環境

CUDA(Compute Unified Device Architecture,統一計算架構)是由英偉達所推出的一種整合技術,向用戶提供了可以很優雅地呼叫GPU進行平行計算的程式設計介面。

然而對於很多剛接觸這門技術的人來說,怎麼把一個簡單的cuda程式跑起來卻也是一個“說大不大,說小不小”的問題。我大致整理出了在Windows上搭建cuda開發環境的方案,勉勉強強可以被當作一份參考。

此處我的目標主要為:完成對簡單CUDA C程式的編譯和執行。

當然,要搭建一個真實的cuda開發環境,得先確保自己電腦是支援cuda的。(安裝了英偉達顯示卡的應該都沒問題)

命令列編譯

  • 首先去英偉達官網下載一個

    CUDA 工具包 | NVIDIA Developer,然後安裝上。

  • 安裝完成後,試試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的話當然是需要先安裝一個,至於安裝的時候具體要選哪些模組,我現在也還不是很清楚,也沒來得及去驗證。

  • 當然CUDA 工具包 | NVIDIA Developer也是必不可少的。

  • 進到VS中建立一個CUDA Runtime專案

  • 給專案配置CUDA工具包路徑

    • 點選Project,然後點選

    • 點選[專案名] Properties

      • 在Configuration—>CUDA C/C++ —>Common中給CUDA Toolkit Custom Dir配上安裝CUDA的路徑,我這裡給出一個參考,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1

附:CUDA HelloWorld

#include <stdio.h>
​
__global__ void cuda_hello(){
    printf("Hello World from GPU!\n");
}
​
int main() {
    cuda_hello<<<1,1>>>(); 
    return 0;
}