Which processor do CUFFT functions perform on?

Hello everyone:

I’ve looked at the CUFFT user guide before I guess that the functions in CUFFT library, such as cufftExecC2C (), were running on the GPU, but when I called cufftExecC2C () in a global function, the compiler reported that cufftExecC2C () was a Host function .Does host function not run on the CPU? So I now want to know cufftExecC2C () is running on the GPU or CPU. If it is running on the CPU,that means that the speed of make FFT can be enhanced if i use other way to make FFT on GPU?


A distinction needs to be made between interface and implementation. Most libraries associated with CUDA provide a host-side interface. Under the hood, the called functions then use the GPU to perform the work. The library API basically comprises thin host-side wrappers around device implementations.

One notable exception is CUBLAS, which also supports a device-side interface. A device-side interface for CUFFT has been discussed in this forum multiple times; from what I understood it is unlikely to come into existence any time soon due to technical challenges (one being plan creation, if I recall correctly).

Thanks a lot! I understard what you mean