Я получаю, что такое blockDim.. Но у меня проблема с gridDim. Blockdim дает размер блока, но что такое gridDim? В Интернете говорится, что gridDim.x дает количество блоков в координате x.
Как я могу узнать, что blockDim.x * gridDim.x
?
Как узнать, сколько значений gridDim.x есть в строке x?
Например, рассмотрите следующий код:
int tid = threadIdx.x + blockIdx.x * blockDim.x;
double temp = a[tid];
tid += blockDim.x * gridDim.x;
while (tid < count)
{
if (a[tid] > temp)
{
temp = a[tid];
}
tid += blockDim.x * gridDim.x;
}
Я знаю, что tid
начинается с 0. Затем код имеет tid+=blockDim.x * gridDim.x
. Что теперь tid
после этой операции?