message: Fix again scheduling with OpenCL, the first fixed version was developed for CUDA, and did not take into account the additional opencl event used to query if a command queue has finished
diff: @@ -702,30 +702,25 @@ int AliHLTTPCCAGPUTrackerOpenCL::Reconstruct(AliHLTTPCCASliceOutput** pOutput, A
  return(1);
  }
  fSlaveTrackers[firstSlice + iSlice].StopTimer(7);
  - for (int k = iSlice;k < iSlice + runSlices;k++) streamMap[k] = useStream;
  - useStream++;
  - }
  - for (int iSlice = 0;iSlice < sliceCountLocal;iSlice++)
  + for (int k = iSlice;k < iSlice + runSlices;k++)
  {
  - clEnqueueMarkerWithWaitList(ocl->command_queue[iSlice], 0, NULL, &ocl->selector_events[iSlice]);
  - }
  -
  - char *tmpMemoryGlobalTracking = NULL;
  - fSliceOutputReady = 0;
  -
  - if (Reconstruct_Base_StartGlobal(pOutput, tmpMemoryGlobalTracking)) return(1);
  -
  - for (int iSlice = 0;iSlice < sliceCountLocal;iSlice++)
  - {
  - if (GPUFailedMsg(clEnqueueReadBuffer(ocl->command_queue[iSlice], ocl->mem_gpu, CL_FALSE, (char*) fGpuTracker[iSlice].CommonMemory() - (char*) fGPUMemory, fGpuTracker[iSlice].CommonMemorySize(),
  - fSlaveTrackers[firstSlice + iSlice].CommonMemory(), 0, NULL, &ocl->selector_events[iSlice]) RANDOM_ERROR))
  + if (GPUFailedMsg(clEnqueueReadBuffer(ocl->command_queue[useStream], ocl->mem_gpu, CL_FALSE, (char*) fGpuTracker[k].CommonMemory() - (char*) fGPUMemory, fGpuTracker[k].CommonMemorySize(),
  + fSlaveTrackers[firstSlice + k].CommonMemory(), 0, NULL, &ocl->selector_events[k]) RANDOM_ERROR))
  {
  HLTImportant("Error transferring tracks from GPU to host");
  ResetHelperThreads(1);
  ActivateThreadContext();
  return(SelfHealReconstruct(pOutput, pClusterData, firstSlice, sliceCountLocal));
  }
  + streamMap[k] = useStream;
  }
  + useStream++;
  + }
  +
  + char *tmpMemoryGlobalTracking = NULL;
  + fSliceOutputReady = 0;
  +
  + if (Reconstruct_Base_StartGlobal(pOutput, tmpMemoryGlobalTracking)) return(1);
  int tmpSlice = 0;
  for (int iSlice = 0;iSlice < sliceCountLocal;iSlice++)
  