最近在学习cuda编程的时候遇到了不少问题,其中有一个问题很费解的就是为什么cuda中循环的步长是一个网格中容纳的线程的数量。代码如下所示:
__global__
void add(int n, float *x, float *y)
{
int index = blockIdx.x * blockDim.x + threadIdx.x;
int stride = blockDim.x * gridDim.x;
for (int i = index; i < n; i += stride)
y[i] =