是否有一种将在CUDA内核中运行的FFT方法? [英] Is there a method of FFT that will run inside CUDA Kernel?

查看:225
本文介绍了是否有一种将在CUDA内核中运行的FFT方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在将一个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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆