Modified CUDA hello example to use current version of GPU Manager.
[charm.git] / examples / charm++ / cuda / hello / helloCUDA.cu
index 69a15784366f1740ab7d522618c2b6a75d8cea7b..1e929788241a4bced05a6f3c2c18aab0a110795b 100644 (file)
@@ -9,32 +9,16 @@ __global__ void helloKernel() {
 }
 
 void kernelSetup(void *cb) {
-  workRequest *wr; 
-  wr = (workRequest*) malloc(sizeof(workRequest)); 
+  workRequest wr; 
+  wr.dimGrid = dim3(1, 1);
+  wr.dimBlock = dim3(1,1);
+  wr.smemSize = 0;
+  wr.nBuffers = 0; 
+  wr.bufferInfo = NULL;
+  wr.callbackFn = cb; 
+  wr.id = 0; 
 
-  wr->dimGrid.x = 1; 
-  wr->dimBlock.x = 1; 
-  wr->smemSize = 0;
-  
-  wr->readWriteDevicePtr = NULL;
-  wr->readWriteHostPtr = NULL; 
-  wr->readWriteLen = 0; 
-
-  wr->readOnlyDevicePtr = NULL;
-  wr->readOnlyHostPtr = NULL;
-  wr->readOnlyLen = 0; 
-
-  wr->writeOnlyDevicePtr = NULL;
-  wr->writeOnlyHostPtr = NULL;
-  wr->writeOnlyLen = 0; 
-
-  wr->callbackFn = cb; 
-
-  wr->id = 0; 
-
-  wr->executing = 0; 
-
-  enqueue(wrQueue, wr); 
+  enqueue(wrQueue, &wr); 
 
 }
 
@@ -43,7 +27,7 @@ void kernelSelect(workRequest *wr) {
   switch (wr->id) {
   case 0: 
     printf("calling kernel\n"); 
-    helloKernel<<<wr->dimGrid,wr->dimBlock,wr->smemSize>>>();
+    helloKernel<<<wr->dimGrid,wr->dimBlock,wr->smemSize, kernel_stream>>>();
     break;
   default:
     printf("error: id %d not valid\n", wr->id);