I’m working with using Cuda to compute 3D FFT’s for use in python. I think I am getting a real result, but it seems to be wrong.
When I run the FFT through Numpy and Scipy of the matrix
[[[ 2. 2.]
[ 2. 2.]]
[[ 2. 2.]
[ 2. 2.]]] float32,
[[[ 16.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j]]
[[ 0.+0.j 0.+0.j]
[ 0.+0.j 0.+0.j]]] complex128.
However, when I run it with Cuda, I get
[[[ 12.+0.j 0.+0.j]
[ 4.+0.j 0.+0.j]]
[[ 4.+0.j 0.+0.j]
[ -4.+0.j 0.+0.j]]] complex64.
The input in Cuda gets converted in to Complex and I do a C2C transformation.
I’m not really sure why it has different results. It seems to run through fine. I’m fairly sure it gets the right input into the GPU, just not sure why it outputs differently.
When I run it with a similar matrix with all ones instead of twos, the resulting matrices simlar with all the elements halved.
I have attached my test code if it helps.
I’m running SDK 1.1 with newest drivers on linux with an 8800 GTS 320MB if that helps.
cudatest.zip (1.45 KB)