CUDA核函数

标签 cuda

我只是想知道用

调用 CUDA 内核函数有什么区别
<<<BLOCK_NUM, THREAD_NUM>>> 

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

最佳答案

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

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

__global__ void kernel(...)
{

    extern __shared__ float buffer[];

}

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

关于CUDA核函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10330572/

相关文章:

c++ - make_transform_iterator 作为 thrust::reduce 算法中的第二个参数有什么意义?

CUDA - 多次调用内核

c++ - 为什么 nvcc 对仿函数不满意

c++ - 在cuda中定义模板化常量变量

opencv - 加载共享库时出错 : libcudart. 所以

cuda - Visual Studio nVidia nsight 更改 cuda 工具包版本

CUDA流不重叠

c - 在不减少线程的情况下在 CUDA 中使用共享内存

cuda - 如何知道应该使用哪个cuDNN版本?

c++ - CUDA cudaMalloc