diff --git a/bioem_cuda.cu b/bioem_cuda.cu index e890c62ee84b884c49f293ce96776af202f07fea..c1c42300b13b8ff5b09809c57a6b60fef4f41dae 100644 --- a/bioem_cuda.cu +++ b/bioem_cuda.cu @@ -84,7 +84,6 @@ int bioem_cuda::compareRefMaps(int iProjectionOut, int iConv, const bioem_map& c if (GPUAsync) { checkCudaErrors(cudaEventSynchronize(cudaEvent[iConv & 1])); - checkCudaErrors(cudaEventRecord(cudaEvent[iConv & 1], cudaStream)); } checkCudaErrors(cudaMemcpyAsync(pConvMap_device[iConv & 1], &conv_map, sizeof(bioem_map), cudaMemcpyHostToDevice, cudaStream)); @@ -133,7 +132,14 @@ int bioem_cuda::compareRefMaps(int iProjectionOut, int iConv, const bioem_map& c cout << "Invalid GPU Algorithm selected\n"; exit(1); } - if (GPUAsync == 0) checkCudaErrors(cudaStreamSynchronize(cudaStream)); + if (GPUAsync) + { + checkCudaErrors(cudaEventRecord(cudaEvent[iConv & 1], cudaStream)); + } + else + { + checkCudaErrors(cudaStreamSynchronize(cudaStream)); + } return(0); }