1
2次元の大きさがM×Nであり、Nは2以上の累乗であり、Mは2の累乗ではない任意の整数です。例えば、配列Aのサイズは200x32です。OpenCL reduction - 2D行列から1次元配列へ
配列の行全体でreduce(add)操作を行うことで、配列Aをサイズ1x32に縮小したいと考えています。 Blelloch/Hillisスキャンアルゴリズムを使用して連続する要素を追加することで、私がやってきた削減の大半は配列を単一の値に減らします。しかし私の場合、連続した要素は無関係であり、追加することはできません。しかし、要素[1,33,65 ...]と要素[2,34,66 ..]などを追加する必要があります。
これは合体アクセスではないため、この問題を解決するにはどうすればよいでしょうか?
私はこれを学んでいるので、私はそれを正しく理解していますか分かりません。メモリ位置1,33,65は、メモリ内に連続して配置されていない。この一体化されたアクセスはどのようにして行われますか? – OCL
合体アクセスは、クロックの「t」ごとにすべてのメモリアクセスが連続している場合です。作業項目1は実行されず終了し、作業項目2が開始されます。代わりに、すべてが同時に実行されます。そして、必要なメモリはt1→[1,32]、t2→[33,64]、...などです – DarkZeros