The discrete Fourier Transform (DFT) are defined as a triple sum along each coordinate. So a 3D transofrm is
I have very large matrices. like 512x512x512. If I do this in a sequential way on a cpu. This transform will start to accumulate errros fro adding very large number to very small numbers for om values of kx., especially if I have a periodic function.
On the cpu just doing a simple sum (average of the matrix) gave 1.0e-12 error. If this accumulates can become a problem. For the serial code (cpu) I solved this problem, by first doing the averages line by line, then plane by plane, this way avoiding operation with numbers too different to each other.
I have a iterative algorithm which involves tens of thousands of FFT and iFFT. How is the cuFFT library working? How much precision is lost at 1 transform.