1. Cuda 編程環境的搭建:
網上針對不同的操作系統和cuda版本有很多詳細的安裝說明,推薦使用安裝Cuda VS Wizard,下載地址http://sourceforge.net/projects/cudavswizard/。
2. 第一個Cuda程序:
新建項目,選擇CUDA—CUDAWinAPP—輸入項目名稱—確定。
其中一個自動生成的文件叫sample.cu,這是環境自帶的demo.
運行程序,Hello Cuda就出來啦!
程序說明:
__global__staticvoidHelloCUDA(char*result,intnum)
{
inti =0;
charp_HelloCUDA[] ="HelloCUDA!";
for(i = 0;i <num;i++) {
result[i] =p_HelloCUDA[i];
}
}
其中,__global__爲內核函數類型限定符,其他語法跟C相同,HelloCUDA爲函數名,result爲返回結果。
主程序中函數調用語句爲:
HelloCUDA<<<1,1,0>>>(device_result,11);
其中,<<<>>>爲內核函數的執行參數,用於說明內核函數中的線程數量,以及線程是如何組織的。<<<1,1,0>>>代表一個kernel的grid中只有1個block,每個block中有1個thread。小括號內的參數爲函數的參數。
以下語句將設備(GPU)數據拷貝回主機(CPU)並輸出:
cutilSafeCall(cudaMemcpy(host_result,device_result,sizeof(char) *11,cudaMemcpyDeviceToHost));
printf("%s\n",host_result);
Hello Cuda的程序到此結束,以後新建自己的函數並在主程序中調用就可以開發自己的cuda程序啦~