使用pyfftw库,可以很容易地在形状为(M, 2**N)
的多维数组的单个轴上执行1D 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,:])
虽然这是并行执行的,但它似乎不是最好的方法,而且也会使我的代码看起来很糟糕。在
有没有一种方法可以用类似于pyfftw
函数的方式使用af.fft
来消除循环,或者使用arrayfire版本的numpy切片?在
目前没有回答
相关问题 更多 >
编程相关推荐