首先得吐槽下VS2015出來快一年了CUDA居然還不支持,沒辦法重裝系統剛從2013升到2015,還得再裝回一個2013用,只為學習CUDA...
然后安裝的時候,如果你選擇自定義組件安裝,注意不要改他的選項,比如說你的顯卡驅動高於CUDA SDK提供的版本,而勾掉他提供的顯卡驅動的話會導致
GPU工具裝不上,於是你編譯出來的程序就會顯示停止工作,為了能少折騰讓自己活得更久一點,還是全默認的好
如果安裝正確,就可以直接在新建項目中看到CUDA7.5的項目模板了

如果你使用Visual Assist的話還要在項目include目錄里添加一下
我的目錄
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5\include

然后在菜單
Tools >> Options >> Text Editor >> File Extension
把.cu和.cuh擴展名加入VS擴展名支持里

然后注冊表中,給VA的擴展名也加入VA支持
HKEY_CURRENT_USER\Software\Whole Tomato\Visual Assist X\VANet12
ExtSource項加入.cu和.cuh

網上還有說要把舊版的usertype.dat放到
D:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
你的IDE下,說是支持CUDA語法高亮,我也忘了這個是不是有用了,好像我沒放的時候VA就支持高亮了,如果你的還沒高亮可以試着下載一下
全部搞定后重啟一下Visual Studio,重新打開項目應該就有語法高亮顯示了
最后再來一個更簡單版本的Hello World
1 #include <iostream> 2 3 #include <cuda.h> 4 #include <cuda_runtime.h> 5 #include <device_launch_parameters.h> 6 7 using namespace std; 8 9 __global__ void AddIntsCUDA(int* a, int* b) 10 { 11 a[0] += b[0]; 12 } 13 14 int main() 15 { 16 int a = 5; 17 int b = 9; 18 19 int* d_a; 20 int* d_b; 21 22 cudaMalloc(&d_a, sizeof(int)); 23 cudaMalloc(&d_b, sizeof(int)); 24 25 cudaMemcpy(d_a, &a, sizeof(int), cudaMemcpyHostToDevice); 26 cudaMemcpy(d_b, &b, sizeof(int), cudaMemcpyHostToDevice); 27 28 AddIntsCUDA << <1, 1 >> >(d_a, d_b); 29 30 cudaMemcpy(&a, d_a, sizeof(int), cudaMemcpyDeviceToHost); 31 cudaMemcpy(&b, d_b, sizeof(int), cudaMemcpyDeviceToHost); 32 33 34 cout << "a is : " << a << endl; 35 36 cudaFree(d_a); 37 cudaFree(d_b); 38 39 40 41 return 0; 42 }

