CUDA呼叫cuFFT後對複數求模

2021-08-20 13:27:34 字數 936 閱讀 9990

當我們使用顯示卡呼叫cufft庫計算fft後(fft計算,請參考需要對cufftcomplex*型別的資料進行進一步處理,比如取模,兩個複數相乘等操作,恰巧,庫裡面也配套了cucomplex.h,其中包含複數基本操作函式,主機和裝置端均可呼叫。我目前還沒找到針對複數陣列取模的現成並行函式,就寫了個簡單的核函式。以下是**。

#include "cuda_runtime.h"

#include "device_launch_parameters.h"

#include #include #include #include #include using namespace std;

__global__ void abs_complex(cufftcomplex* psrc, float* pdst)

int main()

cudamemcpy(psrc, hsrc, 10 * sizeof(cufftcomplex), cudamemcpyhosttodevice);

dim3 block(10);

dim3 grid(1);

abs_complex << > > (psrc, pdst);

cudamemcpy(hdst, pdst, sizeof(float) * 10, cudamemcpydevicetohost);

for (int i = 0; i < 10; i++)

else

t = w / v;

t = 1.0f + t * t;

t = v * sqrtf(t);

if ((v == 0.0f) || (v > 3.402823466e38f) || (w > 3.402823466e38f))

return t;

}

求模函式這樣寫原因之一是為了不讓實部或虛部平方後的數不超float的32位,但可能會影響精度。

CUDA快速傅利葉變換 cuFFT

cuda為開發人員提供了多種庫,每一類庫針對某一特定領域的應用,cufft庫則是cuda中專門用於進行傅利葉變換的函式庫,這一系列的文章是博主近一段時間對cufft庫的學習總結,主要內容是文件的譯文,其間夾雜一些博主自己的理解。初學cuda,理解有誤之處在所難免,閱讀本篇文章的讀者如若發現請不吝指正...

CUDA快速傅利葉變換 cuFFT

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!cuda為開發人員提供了多種庫,每一類庫針對某一特定領域的應用,cufft庫則是cuda中專門用於進行傅利葉變換的函式庫,這一系列的文章是博主近一段時間對cufft庫的學習總結,主要內容是文件的譯文,其間夾雜一些博主自己的理解。初學cuda,理解有...

CUDA快速傅利葉變換(cuFFT)閱讀筆記(一)

cuda為開發人員提供了多種庫,每一類庫針對某一特定領域的應用,cufft庫則是cuda中專門用於進行傅利葉變換的函式庫,這一系列的文章是博主近一段時間對cufft庫的學習總結,主要內容是文件的譯文,其間夾雜一些博主自己的理解。初學cuda,理解有誤之處在所難免,閱讀本篇文章的讀者如若發現請不吝指正...