より良い=より速い。
私は一般的に尋ねていますが、データよりも多くの「ワーカー」がある場合を考えてみてください - 各ブロックごとの最後のスレッドが使用されないままになるよりも良いですか、それともグリッドごとの最後のブロックが使用されないようにする方が良いですか?
各 8 ブロックが SM (ストリーミング マルチプロセッサ) で実行されるという事実を覚えておく必要があります。それらは CPU コアと考えることができます。各ブロックは、現在、論理コアに匹敵する最大 1024 のスレッドを実行できます。たとえば、現在の Intel i シリーズに搭載されているコアは、これらのスレッドをすべて使用するかどうかに関係なく、使用していないため、残りのスレッドは無駄になります。それらとまあ、他の誰もできません。たとえば、GPU に 8 つの SM がある場合、64 個のブロックを割り当てることができますが、それぞれに 1024 のスレッドを割り当てることはできません。これは、SM ごとのスレッドの合計数に制限があるためです (たとえば 2048 など)。ハブが提供した情報に基づく)