comparison TaskManager/Gpu/GpuScheduler.cc @ 1870:44fa0f1320a9 draft

run wordcount with iterate
author Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
date Thu, 26 Dec 2013 17:05:49 +0900 (2013-12-26)
parents a0cb52163e57
children c3573a5ac6a1
comparison
equal deleted inserted replaced
1869:5e06a8089625 1870:44fa0f1320a9
245 245
246 // parameter is passed as first kernel arg 246 // parameter is passed as first kernel arg
247 ret = clEnqueueWriteBuffer(command_queue, memparam, CL_TRUE, 0,sizeof(memaddr)*nextTask->param_count, 247 ret = clEnqueueWriteBuffer(command_queue, memparam, CL_TRUE, 0,sizeof(memaddr)*nextTask->param_count,
248 nextTask->param(0), 0, NULL, &memin[cur].event[0]); 248 nextTask->param(0), 0, NULL, &memin[cur].event[0]);
249 if (ret<0) { gpuTaskError(cur,tasklist,ret); continue; } 249 if (ret<0) { gpuTaskError(cur,tasklist,ret); continue; }
250 250
251 ret = clSetKernelArg(kernel[cur], 0, sizeof(memaddr),(void *)&memin[cur].buf[0]); 251 ret = clSetKernelArg(kernel[cur], 0, sizeof(memaddr),(void *)&memin[cur].buf[0]);
252 if (ret<0) { gpuTaskError(cur,tasklist,ret); continue; } 252 if (ret<0) { gpuTaskError(cur,tasklist,ret); continue; }
253 253
254 param++; 254 param++;
255 255
268 if (ret<0) { gpuTaskError(cur,tasklist,ret); continue; } 268 if (ret<0) { gpuTaskError(cur,tasklist,ret); continue; }
269 269
270 param++; 270 param++;
271 } 271 }
272 memin[cur].size = param; // +1 means param 272 memin[cur].size = param; // +1 means param
273 273
274 for(int i = 0; i<nextTask->outData_count;i++) { // set output data 274 for(int i = 0; i<nextTask->outData_count;i++) { // set output data
275 ListElement *output_buf = nextTask->outData(i); 275 ListElement *output_buf = nextTask->outData(i);
276 if (output_buf->size==0) break; 276 if (output_buf->size==0) break;
277 if (!flag[cur].flip) { // flip use memin for output 277 if (!flag[cur].flip) { // flip use memin for output
278 createBuffer(&memout[cur], i, context, CL_MEM_WRITE_ONLY, output_buf->size, &ret); 278 createBuffer(&memout[cur], i, context, CL_MEM_WRITE_ONLY, output_buf->size, &ret);