CUDA 网格尺寸最大值 - 它们在哪里定义?

时间:2021-05-27 16:11:59

标签: cuda constants dimensions

CUDA programming guide 给出了块中网格尺寸的非设备特定最大值:x 维度为 2^31 - 1,y 和 z 维度为 2^16 - 1(表 15,截至 CUDA 11.3).

我的问题:这些值在代码中是在哪里定义的?我还查看了 cudaLaunchKernel 上的驱动程序 API 条目,它也没有提到此类常量。我在 CUDA 头文件中搜索了 65535、“<<16”和“<<16”,但也没有运气。

1 个答案:

答案 0 :(得分:3)

它们没有在代码中定义。它们是设备的一个属性,检查是在运行时进行的(这很容易证明),并且检查是根据从相关设备检索到的属性完成的。

您可以研究 deviceQuery 示例代码以了解其工作原理。