20.1. 実装例(GPGPU)

2次元FFTのGPGPU実装は、1次元FFTと基本同じアルゴリズムと考えてください。2次元FFTは、1次元のFFTを重層にしただけで、OpenCLの基本設計を変える必要はありません。

2次元FFTでは、2次元のデータアクセスが求められるため、グローバルメモリで操作するならば、行スキャンは問題ないものの、列スキャン時にメモリストライドが発生します。ストライドの対策としては、列スキャンを行う前にデータ行列を転置させる対応をとります。

Copyright 2018-2019, by Masaki Komatsu