Утилита 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)
Когда я создаю проект CUDA 8.0 по умолчанию в Visual Studio 2015 и изменяю вызов ядра с:
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)
, что означает «неверный аргумент».Почему?
(у меня на машине только одно устройство с поддержкой CUDA, поэтому я не путаю его с каким-то другим)