Does anyone know where I can find an implementation of the Discrete Fourier Transform (FFT) that runs on the graphics card? If I remember correctly, the specialized processors in the graphics card would be much faster than computing it by the CPU. nitro
just a note of caution: the GPU's do all sorts of funny things to the floating point numbers to calculate fast. Remember, that the precision ultimately just needs to be one pixel (I realize this is a simplification, but anyway). A better choice might be some of the AMD based cards that offer additional CPUs via MPI or something like that.
CELL-based blades are much better choice, than GPUs or COTS-based MPI clusters. One guy on Willmot board claims, that he replaced 10 servers with one CELL for Monte-Carlo simulations... But if one wants to play safe, then better stick with COTS cluster.
General purpose computation may or may not be faster in the GPU than CPU, depend on the application. I wrote a set of large-number library that was slower on a GPU (I used a Radeon 9600 pro) than the Xeon 3.2, but not by much (20-25% or so). GPGPU has some good code snippets (I believe FFT is even one of the samples) and samples: http://www.gpgpu.org/ All the performance you can get from GPU has to do prefetching and pipelined computation, GPU should be able to do FFT quickly. As you maybe able to preload the matrix as a vertex shader, and then feed in your signal vector(s) as the vertex specifications. Just thinking out loud here. GPGPU has some good reference implementations, go from there.
I just realized how interesting that is. I am really excited about the Cell processor. Thanks for the information. nitro
You bastards piss me off. You know stuff I don't. Anyone want to shed some light on this subject and why it was brought up?