使用Arrayfire和Python在多维数组上进行1D FFT

时间:2017-01-24 08:20:22

标签: python arrays fft arrayfire pyfftw

使用pyfftw库,可以很容易地在形状(M, 2**N)的多维数组的单个轴上进行一维FFT,而不会明确地循环显示第零个索引,如下所示:

afft = pyfftw.interfaces.numpy_fft.fft(a, axis=1)

切换到arrayfire以便我的代码可以在GPU上运行,我使用以下内容做同样的事情(使用import arrayfire as af):

for idx in af.ParallelRange(M):
    afft = af.fft(a[idx,:])

虽然这是并行执行的,但它似乎不是最好的做法,也会使我的代码看起来很糟糕。

有没有办法使用af.fft以与pyfftw函数类似的方式或使用numpy切片的arrayfire版本消除循环?

0 个答案:

没有答案