DSPRelated.com
Forums

FFTs on GPU

Started by Ramoj Paruchuri August 17, 2004
I am very interested to know if anyone has written FFTs on GPUs
instead on a regular processor.

Was there any performance comparision done? If yes, it will be grt if
you can send me the base cases and the results achieved.

Thanks inadvance!
--Ramoj Paruchuri
Ramoj Paruchuri wrote:

> I am very interested to know if anyone has written FFTs on GPUs > instead on a regular processor. > > Was there any performance comparision done? If yes, it will be grt if > you can send me the base cases and the results achieved. > > Thanks inadvance! > --Ramoj Paruchuri
What is a GPU? What kind of processor do you consider to be "regular"? Jerry -- ... the worst possible design that just meets the specification - almost a definition of practical engineering. .. Chris Bore ������������������������������������������������������������������������
"Jerry Avins" <jya@ieee.org> wrote in message
news:41229c0e$0$21742$61fed72c@news.rcn.com...
> > What is a GPU? What kind of processor do you consider to be "regular"? > > Jerry
That's a "Graphics Processing Unit", of the sort that powers modern video cards. They pack a lot of punch, and have the potential to accelerate many computations with a sort of SIMD parallelism. See, for instance: "Fast Fluid Dynamic Simulation on the GPU" http://download.nvidia.com/developer/SDK/Individual_Samples/DEMOS%5COpenGL%5Csrc%5Cgpgpu_fluid%5Cdocs%5CGPU_Gems_Fluids_Chapter.pdf I don't know of anyone who's done an FFT with one, though. In this context, a "regular" processor is, of course, a general purpose CPU. -- Matt
Ramoj Paruchuri wrote:

> I am very interested to know if anyone has written FFTs on GPUs > instead on a regular processor. > > Was there any performance comparision done? If yes, it will be grt if > you can send me the base cases and the results achieved. >
Moreland, K and Angel, E. "The FFT on a GPU." In SIGGRAPH/Eurographics Workshop on Graphics Hardware 2003 Proceedings, pp. 112&#4294967295;119, July 2003. Paul
Matt Timmermans wrote:

> "Jerry Avins" <jya@ieee.org> wrote in message > news:41229c0e$0$21742$61fed72c@news.rcn.com... > >>What is a GPU? What kind of processor do you consider to be "regular"? >> >>Jerry > > > That's a "Graphics Processing Unit", of the sort that powers modern video > cards. They pack a lot of punch, and have the potential to accelerate many > computations with a sort of SIMD parallelism. See, for instance: > > "Fast Fluid Dynamic Simulation on the GPU" > http://download.nvidia.com/developer/SDK/Individual_Samples/DEMOS%5COpenGL%5Csrc%5Cgpgpu_fluid%5Cdocs%5CGPU_Gems_Fluids_Chapter.pdf > > I don't know of anyone who's done an FFT with one, though. > > In this context, a "regular" processor is, of course, a general purpose CPU.
Or maybe a DSP, which is optimized for that? There was no mention of clock speed; surely that matters. Anyhow, thanks for the acronym clarification. We used to call them "graphics accelerators". Jerry -- ... the worst possible design that just meets the specification - almost a definition of practical engineering. .. Chris Bore &#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;&#4294967295;
Sorry. I was stuck with some stuff which kept me busy lately. Thanks
Matt and yes by a regular process I meant a CPU.

I did attend SIGGRAPH 2004 and saw that poster and also some posters
on Wavelets on GPU. But none of them were thorough and explanatory
(ofcourse its a poster). Also, there was a bench mark testing on Ray
tracing on GPU and CPU -- but couldn't find one on FFTs

--Ramoj Paruchuri


Paul Russell <prussell@sonic.net> wrote in message news:<pWxUc.8251$54.121592@typhoon.sonic.net>...
> Ramoj Paruchuri wrote: > > > I am very interested to know if anyone has written FFTs on GPUs > > instead on a regular processor. > > > > Was there any performance comparision done? If yes, it will be grt if > > you can send me the base cases and the results achieved. > > > > Moreland, K and Angel, E. "The FFT on a GPU." In SIGGRAPH/Eurographics > Workshop on Graphics Hardware 2003 Proceedings, pp. 112&#4294967295;119, July 2003. > > Paul
Ramoj Paruchuri wrote:

> Sorry. I was stuck with some stuff which kept me busy lately. Thanks > Matt and yes by a regular process I meant a CPU. > > I did attend SIGGRAPH 2004 and saw that poster and also some posters > on Wavelets on GPU. But none of them were thorough and explanatory > (ofcourse its a poster). Also, there was a bench mark testing on Ray > tracing on GPU and CPU -- but couldn't find one on FFTs >
You'll find the source code and the paper here: <http://www.cs.unm.edu/~kmorel/documents/fftgpu/>. If you look towards the end of the paper you'll see that for a 2D FFT their GPU implementation was slower than using FFTW on a given PC. The GPU implementation has possible advantages when you're operating on image data that's already in the graphics card memory but otherwise it doesn't seem to be particularly useful. Paul
> You'll find the source code and the paper here: > <http://www.cs.unm.edu/~kmorel/documents/fftgpu/>. If you look towards > the end of the paper you'll see that for a 2D FFT their GPU > implementation was slower than using FFTW on a given PC. The GPU > implementation has possible advantages when you're operating on image > data that's already in the graphics card memory but otherwise it doesn't > seem to be particularly useful. > > Paul
Great! Thanks Paul!! --RamojParuchuri
> You'll find the source code and the paper here: > <http://www.cs.unm.edu/~kmorel/documents/fftgpu/>. If you look towards > the end of the paper you'll see that for a 2D FFT their GPU > implementation was slower than using FFTW on a given PC. The GPU > implementation has possible advantages when you're operating on image > data that's already in the graphics card memory but otherwise it doesn't > seem to be particularly useful. > > Paul
Great! Thanks Paul!! --RamojParuchuri
 >Jerry Avins wrote:
> Or maybe a DSP, which is optimized for that? There was no mention of > clock speed; surely that matters.
GPUs are getting to be more like DSPs. The last two major architectures of nVidia processors have programmable pixel shaders. Here are some specs on the latest crop from nVidia : The NVIDIA&#4294967295; GeForce&#4294967295; 6600 GPUs http://www.nvidia.com/page/geforce_6600.html Memory Interface 128-bit or 256-bit DDR or GDDR3 Memory Bandwidth 16.0 GB/sec. or 32 GB/sec Memory Data Rate 1000 MHz Pixel shader pipelines: 16 Pixel shader operations per Clock: 128 With top-end GeForce 6800 Ultras sold with 400-425 MHz clock, we're talking about 425 MHz x 16 pipelines = 6.80 Giga-flops SLI to allow combination of multiple GPUs on PCI Express Other notable features are: - 16-bits, 32-bit floating point formats - full 128-bit floating resolution through entire pipeline For more info on GPU programming, try www.gpgpu.org