(M, 2**N)
pyfftw ライブラリを使用すると、次のようにゼロ番目のインデックスを明示的に循環させることなく、形状の多次元配列の 1 つの軸に対して 1D FFT を簡単に実行できます。
afft = pyfftw.interfaces.numpy_fft.fft(a, axis=1)
.
コードを GPU で実行できるように arrayfire に切り替えて、次を使用して同じことを行います ( を使用import arrayfire as af
):
for idx in af.ParallelRange(M):
afft = af.fft(a[idx,:])
これは並行して実行されますが、物事を行うための最良の方法とは思えず、私のコードを見るのも恐ろしいものになります。
af.fft
関数と同様の方法でpyfftw
、またはnumpyスライスのarrayfireバージョンを使用してループを排除する方法はありますか?