有没有一种FFT方法可以在CUDA内核中运行? 我现在正在把C++程序转换成CUDA代码,我的程序的一部分运行快速傅立叶变换。最初我运行FFTW,但我发现我不能在内核中调用它,所以我用cufft重写了那个部分,但它告诉我同样的事情

有没有一种FFT方法可以在CUDA内核中运行? 我现在正在把C++程序转换成CUDA代码,我的程序的一部分运行快速傅立叶变换。最初我运行FFTW,但我发现我不能在内核中调用它,所以我用cufft重写了那个部分,但它告诉我同样的事情,cuda,fft,Cuda,Fft,是否有任何FFT将在CUDA内核中运行 我可以将\uuuu设备\uuuu添加到fftw库中吗 我希望避免在主机中初始化或调用FFT。我想要一个完全基于gpu类型的函数,如果存在的话。您确定需要避免从主机启动吗?库夫特图书馆现在很不错。移植FFTW似乎是一项相当艰巨的任务。移植可能会更容易,但仍然不容易。如果希望将FFT合并到内核中,那么看起来您正在尝试同时执行多个FFT。我将研究cuFFT中的批处理功能。你的申请是什么?cufftPlanMany()适用于许多不同内存配置的批处理FFT。无法从G

是否有任何FFT将在CUDA内核中运行

我可以将
\uuuu设备\uuuu
添加到fftw库中吗


我希望避免在主机中初始化或调用FFT。我想要一个完全基于gpu类型的函数,如果存在的话。

您确定需要避免从主机启动吗?库夫特图书馆现在很不错。移植FFTW似乎是一项相当艰巨的任务。移植可能会更容易,但仍然不容易。

如果希望将FFT合并到内核中,那么看起来您正在尝试同时执行多个FFT。我将研究cuFFT中的批处理功能。你的申请是什么?cufftPlanMany()适用于许多不同内存配置的批处理FFT。

无法从GPU内核调用API。你必须从主人那里打电话给他们。如果您想运行FFT而不从设备->主机->设备继续细化,我认为唯一的解决方案是编写一个内核,在设备函数中执行FFT。实际上,我这样做是因为我需要并行运行更多的FFT,而无需再次将数据传递给主机。如果您找到/有其他解决方案,请告诉我。

真的吗?2长度FFT蝶形算法的简单幂运算实现起来很简单,并且可以非常有效。困难在于制作一个适用于一般长度且运行速度快的库。我想说的是,如果您只需要一个非常简单的实现,那么您自己滚动并不是一个疯狂的想法。