Hi guys
I have some trouble when using the “batch” with cufft.
I think that batch means the “how many times”. So I decided to use batch, when Fourier transforming of 1000 series of 2048 cells instead of loops. So input data has 2048*1000 cells in 1D array.
However there’s some problems when the filter adaption kernel.
I made the filter which have 2048*1000 cells (1D ramp filters(2048 cells) are arranged 1000 lines)
But I think the filtered data seems like unfiltered.
Here’s my codes. please help me. :">
nBytesC = sizeof(cufftComplex)*(N/2+1)*batchSize;
nBytesR = sizeof(cufftReal)*N*batchSize;
nBytesF = sizeof(float)*N*batchSize;
float* FilteredProj = new float[N*batchSize];
cufftPlan1d(&planFor, N, CUFFT_R2C, batchSize);
cufftPlan1d(&planInv, N, CUFFT_C2R, batchSize);
cufftExecR2C(planFor, R_d, C_d);
// execute the kernel
FilterAdaption<<< (2048*1007)/512, 512 >>>( C_d, F_d, d_out);
cutilCheckMsg("kernel launch failure");
cufftExecC2R(planInv, d_out,Resul);
cudaMemcpy(FilteredProj, Resul, nBytesR, cudaMemcpyDeviceToHost);