2012-04-26 11 views
2

私は後者の場合では、追加の引数は、動的共有メモリーの量を指定CUDAのカーネル関数

<<<BLOCK_NUM, THREAD_NUM>>> 

<<<BLOCK_NUM, THREAD_NUM, THREAD_NUM * sizeof(float)>>> ? 

答えて

8

とCUDAのカーネル関数を呼び出すとの違いは何であるか疑問に思ってカーネル内の各ブロックに割り当てられます。例えば

、あなたはこのように定義されたカーネルを使用している場合:

__global__ void kernel(...) 
{ 

    extern __shared__ float buffer[]; 

} 

二カーネルの起動は、カーネルの各ブロックの共有メモリ・アレイbufferためTHREAD_NUM言葉を割り当てることを試みます。詳細については、CUDA 4.1プログラミングガイドの付録B.17を参照してください。

関連する問題