diff --git a/bioem_cuda.cu b/bioem_cuda.cu index a5401574eb1b0fb0ab1e207bf38e477334c1626a..e19a844548b576805390b713cff7161d7aa75ddb 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; } }