是否有一种将在CUDA内核中运行的FFT方法? [英] Is there a method of FFT that will run inside CUDA Kernel?
问题描述
我目前正在将一个C ++程序转换为CUDA代码,我的程序的一部分运行快速傅立叶变换。最初我跑了FFTW,但我看到我不能在内核中调用它,所以我用cufft重写了这一部分,但它告诉我一样的东西!
Are有没有任何FFT将运行在CUDA内核?
我可以添加 __ device __
到fftw库? / p>
我想避免在主机中初始化或调用FFT。我想要一个完整的gpu类型函数,如果存在。
你确定你需要避免从主办? Nvidia的 cufft图书馆现在相当不错。移植FFTW似乎是一个相当困难的任务。您可能更容易移植 kissfft ,但仍然不容易。
I am currently converting a C++ program into CUDA code, and part of my program runs a fast Fourier transform. Originally I ran FFTW, but I saw that I couldn't call it in kernel, so I then rewrote that part using cufft but it tells me the same thing!
Are there any FFT that will run inside a CUDA kernel?
Can I just add __device__
to the fftw library?
I would like to avoid having to initialize or call the FFT in host. I want a completely on the gpu type function, if one exists.
Are you sure you need to avoid a launch from the host? Nvidia's cufft library is pretty good these days. Porting FFTW seems like a pretty hard task. You might have an easier time porting kissfft but it is still not going to be easy.
这篇关于是否有一种将在CUDA内核中运行的FFT方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!