簡體   English   中英

CUFFT具有雙精度

[英]CUFFT with double precision

我在使用CUDA FFT庫時遇到一些問題。

我將輸入聲明為cuDoubleComplex,但是編譯器返回以下錯誤:此類型與cufftComplex類型的參數不兼容。 通過Internet進行搜索后,我找到文件cufft.h,其中包含typedef cuComplex cufftComplex; 我的問題是,在cuComplex.h庫中,很顯然cuComplex具有單浮點精度( typedef cuFloatComplex cuComplex; ),但是我想要雙精度。

這可能嗎?

特別是,我獲得以下信息:

error: argument of type "cufftDoubleComplex *" is incompatible with parameter of type "cufftComplex *"

在這一行:

cufftExecC2C(plan, data1, data2, CUFFT_FORWARD);

雙精度復雜數據類型在CUFFT中定義為cufftDoubleComplex

CUFFT中fft的雙精度版本是:

cufftExecD2Z() //Real To Complex

cufftExecZ2D() //Complex To Real

cufftExecZ2Z() //Complex To Complex

cufftExecC2C是fft的單精度版本,並且期望輸入和輸出指針的類型為cufftComplex ,而您要cufftComplex傳遞的類型為cufftDoubleComplex的指針。

對於cufftDoubleComplex數據類型,必須改為使用函數cufftExecZ2Z ,該函數用於雙精度數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM