cuda一维快速傅立叶变换的实现
参考:http://www.cnblogs.com/zhangjxblog/p/5016986.html
无意间看到cuda解决FFT有一个cufft函数库,大体查看了有关cufft有关知识,写了一个解决一维情况的cuda代码,据调查知道cufft在解决1D,2D,3D的情况时间复杂度都为O(nlogn),附上解决一维情况的代码,准备后面找一些详细的资料去学习一下cuda的函数库。
#include "stdio.h"
#include "cuda_runtime.h"
#include "cufft.h"
#include "device_launch_parameters.h"#define LENGTH 4
int main()
{float Data[LENGTH] = {1,2,3,4};
cufftComplex *CompData=https://www.it610.com/article/(cufftComplex*)malloc(LENGTH*sizeof(cufftComplex));
int i;
for(i=0;
i
在Linux下运行的这段代码:
编译命令:nvcc -o cuffts testFFT.cpp cudaFFT.cpp -I /usr/local/cuda/include -L /usr/local/cuda/lib64 -lcufft
【cuda一维快速傅立叶变换的实现】运行命令:./fftcu
注:/usr/local/cuda/include中有cufft.h头文件,/usr/local/cuda/lib64中有libcufft.so库文件
推荐阅读
- neo4j|neo4j cql语句 快速查询手册
- 通过复盘快速成长(附模板)
- 为Google|为Google Cloud配置深度学习环境(CUDA、cuDNN、Tensorflow2、VScode远程ssh等)
- jar|springboot项目打成jar包和war包,并部署(快速打包部署)
- Nvidia|lxd容器安装cuda11
- 快速阅读作业【2/21】《阅读(革命性新定义》)
- Spring注解05|Spring注解05 @Import 给容器快速导入一个组件
- 轻量模块注意力机制ECA-Net(注意力模块+一维卷积)
- 虐虐快速通关秘籍放这,高度概括就是听话照做!
- 想要用正确的方法快速进阶,这三个方法推荐给你。