先決條件

要開始使用 CUDA 進行程式設計,請下載並安裝 CUDA Toolkit 和開發人員驅動程式 。該工具包包括 nvcc,NVIDIA CUDA 編譯器以及開發 CUDA 應用程式所需的其他軟體。該驅動程式可確保 GPU 程式在支援 CUDA 的硬體上正確執行,你也需要這些硬體

你可以通過從命令列執行 nvcc --version 來確認你的計算機上已正確安裝 CUDA Toolkit。例如,在 Linux 機器上,

$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jul_12_18:28:38_CDT_2016
Cuda compilation tools, release 8.0, V8.0.32

輸出編譯器資訊。如果上一個命令不成功,則可能未安裝 CUDA Toolkit,或者 nvcc(Windows 機器上的 C:\CUDA\bin,POSIX 作業系統上的/usr/local/cuda/bin)的路徑不是 PATH 環境變數的一部分。

此外,你還需要一個與 nvcc 配合使用的主編譯器來編譯和構建 CUDA 程式。在 Windows 上,這是微軟編譯器 cl.exe,它隨 Microsoft Visual Studio 一起提供。在 POSIX OS 上,可以使用其他編譯器,包括 gccg++。官方 CUDA 快速入門指南可以告訴你特定平臺支援哪些編譯器版本。

為確保一切設定正確,讓我們編譯並執行一個簡單的 CUDA 程式,以確保所有工具正確地協同工作。

__global__ void foo() {}

int main()
{
  foo<<<1,1>>>();

  cudaDeviceSynchronize();
  printf("CUDA error: %s\n", cudaGetErrorString(cudaGetLastError()));

  return 0;
}

要編譯此程式,請將其複製到名為 test.cu 的檔案中,然後從命令列進行編譯。例如,在 Linux 系統上,以下應該可以工作:

$ nvcc test.cu -o test
$ ./test
CUDA error: no error

如果程式成功沒有錯誤,那麼讓我們開始編碼!