Hello.
I’m replacing FFTW3 for CUFFT and I get different results with floats.
Plans:
[codebox]
// p = fftwf_plan_dft_r2c_3d(global_grid_size,global_grid_size,glob
al_grid_size,static_grid, (fftwf_complex *)static_grid, FFTW_MEASURE);
cufftPlan3d (&p_cufft, global_grid_size, global_grid_size, global_grid_size, CUFFT_R2C);
// pinv = fftwf_plan_dft_c2r_3d(global_grid_size,global_grid_size,glob
al_grid_size,multiple_fsg, (fftwf_real *)multiple_fsg, FFTW_MEASURE);
cufftPlan3d (&pinv_cufft, global_grid_size, global_grid_size, global_grid_size, CUFFT_C2R);
[/codebox]
and the FT:
[codebox]
// fftwf_execute_dft_r2c(p,static_grid,(fftwf_complex *)static_grid);
CHECK_CUDA(cudaMemcpy(static_grid_d, static_grid, sizeof_grid, cudaMemcpyHostToDevice));
cufftExecR2C( p_cufft, static_grid_d, (cufftComplex * )static_grid_d );
CHECK_CUDA(cudaMemcpy(static_grid, static_grid_d, sizeof_grid, cudaMemcpyDeviceToHost));
[/codebox]
The results start to be slightly different but the error is bigger in successive iterations.
Any help?
Thank you