SMX ごとの最大ブロック数を指定できる人はいますか?
マルチプロセッサごとの常駐ブロックの最大数は、kepler (cc 3.x) デバイスでは 16 です。
32 * 4 = 128 (ワープ内のスレッドの数 * ワープの数) (4 つのワープを発行して同時に実行できる AS ケプラー) のスレッドが同時に実行されていますか? いいえの場合、同時に実行されるスレッドの数は?
特定のクロックサイクルで発行できるものと、「同時に」実行できるものには違いがあります。
命令の実行はパイプライン化されるため、複数の異なるワープからの複数の命令をパイプラインの任意のポイントで実行できます。
Kepler には 4 つのワープ スケジューラがあり、それぞれが特定のワープから 2 つの命令を発行できます(4 つのワープ スケジューラで合計 4 つのワープ、発行スロットあたり最大 2 つの命令、クロック サイクルごとに最大 8 つの命令を発行できます)。
マルチプロセッサごとに、最大 64 個のワープ (ワープあたり 32 スレッド x 64 ワープ = マルチプロセッサあたり最大 2048 スレッド) を常駐 (つまり、開いてスケジュール可能) にすることができます。これは、任意の時点で (パイプラインのさまざまなフェーズで) 現在実行されている最大数でもあります。
そのため、任意の時点で、64 (最大) の使用可能なワープのいずれかからの命令が、Kepler マルチプロセッサのさまざまな機能ユニットのさまざまなパイプラインで、さまざまな実行段階にある可能性があります。
ただし、Kepler のマルチプロセッサごとのクロック サイクルごとの最大スレッド命令発行は、4 ワープ スケジューラ x (最大)2 命令 = 8 * 32 = 256 です。発行スロット (つまり、クロック サイクルごと) は、実際には達成可能である可能性があります。