CUFFT - Batch of FFT


I’m a total newbie in gpgpu and I’m beginning to investigate how to translate my current code for my new GPU (8800 GTS). My code is relatively simple and it is mainly fft bottlenecked. So my first approach is to use the batch mode of the CUFFT library to do something like this:

fft -> some simple processing -> fft -> some simple processing … so on …

With the current API I just don’t see how to insert my “some simple processing” between each fft. Somebody have any clue how to do this ?

Thanks !

The batch mode executes multiple independent ffts in parallel. Since yours don’t appear to be independent you can’t batch them together. You can do your simple processing on the host between FFT executions:

cufftExecute(plan, idata, odata, CUFFT_FORWARD);




cufftExecute(plan, idata, odata, CUFFT_FORWARD);


Even better, you can do the processing on the GPU using the data that is already resident in device memory.
Just use a kernel that is going to operate on odata

Thanks for your help… I understand. I didn’t even occur to me that I can just keep it there in the device memory !