Вы можете использовать этот вид кода для отображения размеров сетки в блоках и блоков измерений в потоках перед запуском ядра:
dim3 gridDim;
dim3 blockDim;
// here you set gridDim and blockDim to some values
printf("Grid : {%d, %d, %d} blocks. Blocks : {%d, %d, %d} threads.\n",
gridDim.x, gridDim.y, gridDim.z, blockDim.x, blockDim.y, blockDim.z);
kernel<<<gridDim, blockDim>>>();
С некоторыми исследованиями вы можете легко найти, как это сделать.
Также помните, что у вас есть документация, которая охватывает тип вектора dim3 :
Этот тип является целочисленным векторным типом на основе uint3, который используется для указания размеров. При определении переменной типа dim3 любой неуказанный компонент инициализируется равным 1.
Таким образом, поскольку он использует целые числа без знака, вы также можете использовать% u вместо% d в вызове printf.