我有一个从Visual Studio中的mex文件启动的CUDA代码。我仅在x维度上启动块,但是尽管我的计算能力为6.1(根据系统信息下的GPU设备选项卡),但如果尝试启动超过65536个块,则会出错。 同样在系统信息下,它说MAX_GRID_DIM_X为2147483647。在启动这么多模块之前,是否需要更改某些设置或环境变量?还有什么其他事情会限制我可以启动的块数?
答案 0 :(得分:2)
启动这么多模块之前,是否需要更改某些设置或环境变量?
否。
还有哪些其他事情会限制我可以启动的块数?
编译设置。您必须选择支持2 ^ 31-1的目标编译体系结构。在CUDA 9上,默认编译体系结构为3.0,它支持扩展的1D网格大小。在较旧的工具包上,默认值为2.0或更旧的版本,而默认情况不会。