Mercurial > hg > Game > Cerium
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); |