次の構文の意味は何ですか:
Kernel_fun<<<256, 128, 2056>>>(arg1, arg2, arg3);
ワークグループを示す値とスレッドを示す値。
次の構文の意味は何ですか:
Kernel_fun<<<256, 128, 2056>>>(arg1, arg2, arg3);
ワークグループを示す値とスレッドを示す値。
CUDA Programming Guide、付録 B.22から(2019 年 5 月現在):
実行構成は、関数名と括弧で囲まれた引数リストの間に <<< Dg、Db、Ns、S >>> の形式の式を挿入することによって指定されます。
Dg は dim3 型 (セクション B.3.2 を参照) であり、Dg.x * Dg.y * Dg.z が発射されるブロックの数と等しくなるように、グリッドの次元とサイズを指定します。計算機能 1.x のデバイスの場合、Dg.z は 1 に等しくなければなりません。
Db は dim3 型 (セクション B.3.2 を参照) であり、Db.x * Db.y * Db.z がブロックあたりのスレッド数と等しくなるように、各ブロックの次元とサイズを指定します。
Ns は size_t 型で、静的に割り当てられたメモリに加えて、この呼び出しのブロックごとに動的に割り当てられる共有メモリ内のバイト数を指定します。この動的に割り当てられたメモリは、セクション B.2.3 で説明したように、外部配列として宣言された変数のいずれかによって使用されます。Ns はオプションの引数で、デフォルトは 0 です。
S は cudaStream_t 型で、関連付けられたストリームを指定します。S はオプションの引数で、デフォルトは 0 です。
要するに:
<<< number of blocks, number of threads, dynamic memory per block, associated stream >>>