首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >双精度CUFFT

双精度CUFFT
EN

Stack Overflow用户
提问于 2013-01-02 18:43:15
回答 1查看 2.8K关注 0票数 3

我在使用CUDAs FFT库时遇到了一些问题。

我将输入声明为cuDoubleComplex,但是编译器返回此类型与cufftComplex类型的参数不兼容的错误。在网上搜索后,我找到了cufft.h文件,其中有行typedef cuComplex cufftComplex;。我的问题是,在cuComplex.h库中,很明显cuComplex有一个单浮点精度(typedef cuFloatComplex cuComplex;),但我想要一个双精度。

这个是可能的吗?

具体地说,我获得了以下内容:

代码语言:javascript
复制
error: argument of type "cufftDoubleComplex *" is incompatible with parameter of type "cufftComplex *"

在这一行中:

代码语言:javascript
复制
cufftExecC2C(plan, data1, data2, CUFFT_FORWARD);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-02 18:55:23

双精度复数数据类型在CUFFT中定义为cufftDoubleComplex

CUFFT中的双精度fft版本包括:

代码语言:javascript
复制
cufftExecD2Z() //Real To Complex

cufftExecZ2D() //Complex To Real

cufftExecZ2Z() //Complex To Complex

cufftExecC2C是单精度版本的快速傅立叶变换,它要求输入和输出指针的类型为cufftComplex,而您向其传递的是cufftDoubleComplex类型的指针。

对于cufftDoubleComplex数据类型,您必须使用函数cufftExecZ2Z,该函数用于双精度数据。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14120632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档