From ff7b0d2bdf83d90278a51ae39b8f8983cb5ac767 Mon Sep 17 00:00:00 2001 From: David Rohr Date: Mon, 5 May 2014 13:37:32 +0200 Subject: [PATCH] fix cuda code if max fft maps per kernel is divider of total map count --- bioem_cuda.cu | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/bioem_cuda.cu b/bioem_cuda.cu index a540157..e19a844 100644 --- a/bioem_cuda.cu +++ b/bioem_cuda.cu @@ -377,6 +377,7 @@ int bioem_cuda::deviceStartRun() { for (int i = 0; i < 2; i++) { + if (i && maxRef % CUDA_FFTS_AT_ONCE == 0) continue; int n[2] = {param.param_device.NumberPixels, param.param_device.NumberPixels}; if (cufftPlanMany(&plan[i][j], 2, n, NULL, 1, param.FFTMapSize, NULL, 1, 0, MY_CUFFT_C2R, i ? (maxRef % CUDA_FFTS_AT_ONCE) : CUDA_FFTS_AT_ONCE) != CUFFT_SUCCESS) { @@ -409,7 +410,11 @@ int bioem_cuda::deviceFinishRun() { for (int j = 0;j < 2;j++) { - for (int i = 0; i < 2; i++) cufftDestroy(plan[i][j]); + for (int i = 0; i < 2; i++) + { + if (i && maxRef % CUDA_FFTS_AT_ONCE == 0) continue; + cufftDestroy(plan[i][j]); + } if (!GPUDualStream) break; } } -- GitLab