在架構好cuda平台以及開發環境之後,我們就來練習cuda的程式吧!
- 如果安裝好 cuda wizard for visual studio 2005 的話!你將會可以再開新專案的地方看到 CUDA WinApp的選項 
 
 
- 當按下確定鍵之後!Cuda專案精靈便會引導你建立一個新的Cuda專案 
 
 選擇"下一步" 
 接下來會看到一些進階的設定,在此我們不做變更,直接選擇 "Finish"  
 
 
- 建立完專案之後,你會發現方案總管理面已經有一個 sample.cu的檔案,cuda的compiler吃這個檔案 :p 
 
 接著我們將sample.cu打開,其實裡面是一個cuda 專案精靈幫我們建立的一個Hello cuda程式,但是由於稍嫌複雜 所以我在這邊寫了一個程式碼稍微少一點點的程式,你可以把原本的程式碼清除並貼下以下的程式碼。 
| sample.cu | 
| #include <stdio.h> #include <stdlib.h> #include <cuda_runtime.h> #include <cutil.h> 
 //cuda function __global__ static void CUDAer(char* testPtr) {     testPtr[threadIdx.x] = 'A' + threadIdx.x; } 
 int main(int argc, char* argv[]) { 
     char *testPtr = 0;     char test_Array[26] ={0};               int i;     cudaMalloc((void**) &testPtr, sizeof(char) * 26); 
     CUDAer<<<1,26>>>(testPtr); 
 
     cudaMemcpy(&test_Array, testPtr, sizeof(char) * 26, cudaMemcpyDeviceToHost);      
         printf("%c", test_Array[i]);     } 
     cudaFree(testPtr);     system("pause");     return 0; } | 
 
- 接著按下編譯並執行程式,就可以看到以下的畫面了J
  
 從上面的程式可以知道,這是一個從A印到Z的程式 至於程式的內容是甚麼呢!下回再做補充:P 
 
 
1 則留言:
感謝大大無私的技術分享
張貼留言