2
私は後者の場合では、追加の引数は、動的共有メモリーの量を指定CUDAのカーネル関数
<<<BLOCK_NUM, THREAD_NUM>>>
と
<<<BLOCK_NUM, THREAD_NUM, THREAD_NUM * sizeof(float)>>> ?
私は後者の場合では、追加の引数は、動的共有メモリーの量を指定CUDAのカーネル関数
<<<BLOCK_NUM, THREAD_NUM>>>
と
<<<BLOCK_NUM, THREAD_NUM, THREAD_NUM * sizeof(float)>>> ?
とCUDAのカーネル関数を呼び出すとの違いは何であるか疑問に思ってカーネル内の各ブロックに割り当てられます。例えば
、あなたはこのように定義されたカーネルを使用している場合:
__global__ void kernel(...)
{
extern __shared__ float buffer[];
}
二カーネルの起動は、カーネルの各ブロックの共有メモリ・アレイbuffer
ためTHREAD_NUM
言葉を割り当てることを試みます。詳細については、CUDA 4.1プログラミングガイドの付録B.17を参照してください。