スレッド ブロックあたり 16 スレッドで起動される CUDA カーネルを設計しています。処理したい共有メモリ (つまり、スレッド ブロックごと) に N 個の int の配列があります。
スレッドのアクセス パターンが配列内で連続している場合、バンクの競合が発生しないということですか? 配列がchar配列の場合、バンクの競合が発生することは理解していますが、int配列の場合はどうなるか完全にはわかりません。4 つの連続する int の各セットが同じメモリ バンクを共有するため、バンクの競合が発生すると思いますか?
これが正しい場合、銀行の競合を防ぐための正しい解決策は何ですか? ヒストグラム サンプルのようなスクランブリングに対処しますか?