CUDA内核函数

Cod*_*der 2 cuda

我只是想知道调用CUDA内核函数有什么区别

<<<BLOCK_NUM, THREAD_NUM>>> 
Run Code Online (Sandbox Code Playgroud)

<<<BLOCK_NUM, THREAD_NUM, THREAD_NUM * sizeof(float)>>> ?
Run Code Online (Sandbox Code Playgroud)

tal*_*ies 8

第二种情况中的附加参数指定要分配给内核中每个块的动态共享内存量.

例如,如果您有一个像这样定义的内核:

__global__ void kernel(...)
{

    extern __shared__ float buffer[];

}
Run Code Online (Sandbox Code Playgroud)

第二次内核启动将尝试为内核的每个块分配THREAD_NUM共享内存数组的字buffer.有关详细信息,请参阅CUDA 4.1编程指南的附录B.17.