SMあたりのBlock数

CUDA本はまだ読み途中。

性能を引き出す上で6章に書いてあった、Occupancyを高めるよりもマルチプロセッサあたりのアクティブなブロック数の方が大事というのはいいヒントになりそうだ。

ついついBlockあたりのThread数を上げようとしてしまうが、同時におよそ3Blockが動作可能となるようにShared Memoryの使用量やBlock無いのthread数を調整した方がいいようだ。

(ただ3Blockだと絶対にOccupancy 100%にはできないな)

あるBlock内の全てのTheadがglobal Memoryへアクセスして、非常に長いストールが発生した時に、Blockの切り替えが可能であれば、別のBlockの処理が行えるのでスループットが上がると言うことだろう。