在CUDA中每个网格(x尺寸)启动超过65536个块

时间:2018-09-21 20:09:44

标签: cuda nvidia

我有一个从Visual Studio中的mex文件启动的CUDA代码。我仅在x维度上启动块,但是尽管我的计算能力为6.1(根据系统信息下的GPU设备选项卡),但如果尝试启动超过65536个块,则会出错。 同样在系统信息下,它说MAX_GRID_DIM_X为2147483647。在启动这么多模块之前,是否需要更改某些设置或环境变量?还有什么其他事情会限制我可以启动的块数?

1 个答案:

答案 0 :(得分:2)

  

启动这么多模块之前,是否需要更改某些设置或环境变量?

否。

  

还有哪些其他事情会限制我可以启动的块数?

编译设置。您必须选择支持2 ^ 31-1的目标编译体系结构。在CUDA 9上,默认编译体系结构为3.0,它支持扩展的1D网格大小。在较旧的工具包上,默认值为2.0或更旧的版本,而默认情况不会。