网格的最大x维度太低

时间:2018-05-22 13:37:12

标签: cuda

deviceQuery工具为我提供了这些信息:

CUDA Driver Version / Runtime Version          9.1 / 8.0
CUDA Capability Major/Minor version number:    5.0
Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)

当我在Visual Studio 2015中创建默认CUDA 8.0项目并从:

更改内核调用时
addKernel<<<1, size>>>(dev_c, dev_a, dev_b);

addKernel<<<dim3(65535, 1, 1), size>>>(dev_c, dev_a, dev_b);

它仍然有效。但是当将网格的x维度更改为65536时,如下所示:

addKernel<<<dim3(65536, 1, 1), size>>>(dev_c, dev_a, dev_b);

我得到cudaErrorInvalidValue (11),这意味着&#34;无效的参数&#34;。为什么呢?

(我的机器上只有一个支持CUDA的设备,所以我不会把它与其他设备混淆)

1 个答案:

答案 0 :(得分:1)

默认情况下,Visual Studio似乎将构建标志设置为计算功能2.0

更改它们:

  1. 打开项目的“属性”页面
  2. CUDA C/C++下选择Device标签
  3. Code Generation值从compute_20,sm_20更改为您的图形卡支持的任何值。就我而言,它是compute_50,sm_50