我可以在 Windows 上使用带有多线程的 FFTW3 吗?

Can I use FFTW3 with multi-threads on windows?

提问人:OOOver 提问时间:11/7/2023 最后编辑:talonmiesOOOver 更新时间:11/7/2023 访问量:13

问:

我在 Windows 系统上安装“fftw3.h”以执行我的“.cu”。

#include "fftw3.h"
#pragma comment(lib, "libfftw3-3.lib")

我可以在我的代码中使用 FFTW3 的大多数函数。但是,当执行“fftw_plan_with_nthreads(int)”或“fftw_init_threads()”时,会出现错误代码 code=3221225785

如何在 Windows 上将 FFTW3 与多线程一起使用?Windows 版本的 FFTW3 是否支持此类操作?

视窗 FFTW

评论


答:

0赞 myh 12/5/2023 #1

1- .cu 扩展名用于 cuda 风格的编程,几乎是基于 GPU 的。您使用 fftw 的 cpu 版本...

2-首先准备线程,然后创建计划,如下所示(注意清理):

fftw_init_threads();//m
fftw_plan_with_nthreads(24);//m

fftw_plan plan = fftw_plan_dft_r2c_1d(NFFT, SubFrame.data(), ...

fftw_execute(plan);

fftw_cleanup_threads();//m

fftw_destroy_plan(plan);