diff --git a/src/OpenCL/OpenCLBase.cpp b/src/OpenCL/OpenCLBase.cpp index 24c323f..eee3049 100644 --- a/src/OpenCL/OpenCLBase.cpp +++ b/src/OpenCL/OpenCLBase.cpp @@ -675,17 +675,14 @@ cl_mem OpenCLBase::ocl_allocateMemory(size_t size, cl_int &ierr) { /* write data specified by in_data to device memory, device memory space defined by cl_mem */ -int OpenCLBase::ocl_writeData(cl_mem mem_ptr, const void * in_data, size_t size, size_t offset, int blocking) { +int OpenCLBase::ocl_writeData(cl_mem mem_ptr, const void * in_data, size_t size, + size_t offset, int blocking) +{ cl_int ierr; - - - //std::cout << "Write: " << size*1e-9 << " gb of data" << std::endl; - ierr = clEnqueueWriteBuffer(m_command_queue, mem_ptr, blocking, offset, size, in_data, 0, NULL, &m_last_event); - - //m_events[m_num_events] = m_last_event; - m_events.push_back(m_last_event); + ierr = clEnqueueWriteBuffer(m_command_queue, mem_ptr, blocking, offset, size, + in_data, 0, NULL, NULL); if (ierr != CL_SUCCESS) { DEBUG_MSG("Error writing data to device, OpenCL error: " << ierr); @@ -752,28 +749,16 @@ int OpenCLBase::ocl_executeKernel(cl_uint ndim, const size_t *work_items, const size_t *work_group_size) { cl_int ierr; - cl_event tmp_event; - if (m_last_event == NULL) { - ierr = clEnqueueNDRangeKernel(m_command_queue, m_kernel, ndim, NULL, - work_items, work_group_size, - 0, NULL, &tmp_event); - } else { - ierr = clEnqueueNDRangeKernel(m_command_queue, m_kernel, ndim, NULL, - work_items, work_group_size, - 1, &m_last_event, &tmp_event); - } - clFlush(m_command_queue); + ierr = clEnqueueNDRangeKernel(m_command_queue, m_kernel, ndim, NULL, + work_items, work_group_size, + 0, NULL, NULL); if (ierr != CL_SUCCESS) DEBUG_MSG("Error executing kernel, OpenCL error: " << ierr << " work items: " << *work_items << ", " << " work group: " << *work_group_size); - clReleaseEvent(tmp_event); - //m_last_event = tmp_event; - //m_events.push_back(m_last_event); - return ierr; } @@ -781,12 +766,13 @@ int OpenCLBase::ocl_executeKernel(cl_uint ndim, const size_t *work_items, read data from device, mem_ptr points to data on device out_data points to memory in host blocking specifies wether the read operation is blocking (default CL_TRUE) or non blocking (CL_FALSE) */ -int OpenCLBase::ocl_readData(cl_mem mem_ptr, void * out_data, size_t size, size_t offset, int blocking) { +int OpenCLBase::ocl_readData(cl_mem mem_ptr, void * out_data, size_t size, + size_t offset, int blocking) +{ cl_int ierr; - - ierr = clEnqueueReadBuffer(m_command_queue, mem_ptr, blocking, offset, size, out_data, 0, NULL, &m_last_event); - m_events.push_back(m_last_event); + ierr = clEnqueueReadBuffer(m_command_queue, mem_ptr, blocking, offset, size, + out_data, 0, NULL, NULL); if (ierr != CL_SUCCESS) DEBUG_MSG("Error reading data from device, OpenCL error: " << ierr); diff --git a/src/OpenCL/OpenCLChiSquareRuntime.cpp b/src/OpenCL/OpenCLChiSquareRuntime.cpp index 3cd71f2..e3ef6ba 100644 --- a/src/OpenCL/OpenCLChiSquareRuntime.cpp +++ b/src/OpenCL/OpenCLChiSquareRuntime.cpp @@ -98,7 +98,6 @@ double OpenCLChiSquareRuntime::calculateSum(cl_mem data, int length) { tmp_ptr = m_oclbase->ocl_allocateMemory(work_groups * sizeof(double), ierr); //execute sum kernel - //ocl_createKernel("parallelReductionSum"); m_oclbase->ocl_createKernel("parallelReductionTwoPhase"); m_oclbase->ocl_setKernelArg(0, sizeof(cl_mem), &data); m_oclbase->ocl_setKernelArg(1, sizeof(cl_mem), &tmp_ptr);