合体していないメモリアクセスを合体したメモリアクセスに変換する簡単な方法があるかどうか疑問に思っていました。この配列の例を見てみましょう:
dW[[w0,w1,w2][w3,w4,w5][w6,w7][w8,w9]]
dW[0]
これで、スレッド 0 がブロック 0 アクセスで、次にスレッド 1 がブロック 0 アクセスdw[1]
である場合、それはグローバル メモリ内の合体アクセスであることがわかります。問題は、2 つの操作があることです。最初のものは、上記のように結合されます。しかし、2 つ目は、ブロック 0 のスレッド 1 が と の両方で操作を行う必要があるためではありませdW[0]
ん。dW[1]
dW[2]
コンテナーの初期形状が合体アクセスを許可または禁止することを知っています。しかしdW
、非常に大きな配列であり、プロセス中に変換できません。
この問題を軽減できるかどうか知っていますか?