dear all:

I write a simple program to test accuracy of cuFFT

for each dimension N, I test L2-norm( x - ifft(fft(x)) )/L2-norm(x)

, x is chosen as basis vector, say x(j) = cos(2*pi*k*j/N) or sin(2*pi*k*j/N) for k = 0, 1,2,…,N-1

and pick up maximum error over all possible basis vectors.

experiment result is shown in figure 1

figure 1

however http://www.fftw.org/accuracy/CoreDuo-3.0GHz-icc64 shows

evaluation of FFT in figure 2

figure 2

if one foucs on result of fftpack and fftw, then

it is clear that cuFFT has large variation on error distribution.

Does anyone know what happens ?