changeset 1813:d7973604e81f draft

fix memin size
author kkb
date Thu, 12 Dec 2013 18:34:16 +0900
parents df5fc3a6d318
children efaa5beb02e9
files TaskManager/Gpu/GpuScheduler.cc
diffstat 1 files changed, 4 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/TaskManager/Gpu/GpuScheduler.cc	Wed Dec 11 20:41:24 2013 +0900
+++ b/TaskManager/Gpu/GpuScheduler.cc	Thu Dec 12 18:34:16 2013 +0900
@@ -289,7 +289,7 @@
                             const char *msg=convert_error_status(ret);
                             error(msg);
                         }
-
+                        
                         param++;
                     }
                 }
@@ -299,7 +299,7 @@
                 } else {
                     out_mem_flag = CL_MEM_WRITE_ONLY;
                 }
-
+                memin[cur].size  = param; // +1 means param
                 
                 for(int i = 0; i<nextTask->outData_count;i++) { // set output data
                     ListElement *output_buf = flag.flip? nextTask->inData(i) : nextTask->outData(i);
@@ -312,7 +312,7 @@
 
                     if (flag.flip) { // use output buffer as input buffer
                         ListElement *input_buf = nextTask->inData(i);
-
+                        
                         ret = clEnqueueWriteBuffer(command_queue, memout[cur].buf[i+1], CL_TRUE, 0,
                                                    input_buf->size, input_buf->addr, 
                                                    0, NULL, &memout[cur].event[i+1]);
@@ -329,8 +329,7 @@
                     param++;
                 }
                 
-                memin[cur].size  = nextTask->inData_count+1; // +1 means param
-                memout[cur].size = nextTask->outData_count;
+                memout[cur].size = param - memin[cur].size;
                 tasklist[cur]->task_start_time = gettime();
                 if (tasklist[cur]->dim > 0) {
                     ret = clEnqueueNDRangeKernel(command_queue, kernel[cur], tasklist[cur]->dim,