首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pyfftw比matlab fft慢

Pyfftw比matlab fft慢
EN

Stack Overflow用户
提问于 2017-04-14 17:16:30
回答 1查看 539关注 0票数 1

我正在尝试比较Pyfftw (在Python3.6中)和matlab r2017a快速傅立叶变换。

代码语言:javascript
复制
import time
import numpy
import pyfftw
import multiprocessing


nthread = multiprocessing.cpu_count()
print(nthread)
n=2**20
a = pyfftw.empty_aligned(n, dtype='complex128')
print("fft_object = pyfftw.builders.fft(a)")
fft_object = pyfftw.builders.fft(a) #this instruction spend much time
print("generate numbers")
a[:]= 5*numpy.random.rand(n)
print(a)
print("start fft")
start = time.clock()
y=fft_object()
end4 = time.clock() - start
print(end, time:")
print(end4)
print("result")
print(y)
print(len(y))

而如果我使用matlab:

代码语言:javascript
复制
x=5*rand(2^20,1);tic;fft(x);toc

这个请求正好是计算快速傅立叶变换算法的时间,也就是python对fft_object()调用的大致相同时间。

提前感谢您的支持。

EN

回答 1

Stack Overflow用户

发布于 2017-04-14 17:44:39

你可以看看基于GPU的代码(如果你有合适的硬件):

http://pypi.python.org/pypi/pyfft

http://pypi.python.org/pypi/scikits.cuda

它们基于PyCuda和PyOpenCL。我没有太多的经验,所以你必须做一些挖掘,以找到最适合你的。

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

https://stackoverflow.com/questions/43408676

复制
相关文章

相似问题

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