私のCUDAコードは、4つの配列で動作する必要があります(平均/標準に縮小し、ヒストグラムを計算します)。各2048浮動小数点数は長く、以前のカーネルからデバイスメモリにすでに保存されています。
一般に、マルチプロセッサと少なくとも同じ数のブロックを起動することをお勧めします。ただし、この場合、これらの各配列を 1 つのブロックの共有メモリにロードできるため、起動できるブロックは 4 つだけです。
これは「GPU をビジー状態に保つ」には程遠いですが、より多くのブロックを使用する場合、グローバル メモリを介してより多くのブロック間通信を行う必要があります。グローバルメモリの内外。
このような状況で並列化する最良の方法は何ですか?