核心内部的CUDA并行性

时间:2014-03-01 11:02:42

标签: cuda gpu gpu-programming

在CUDA中,如何管理GPU核心内部的顺序代码?

如果我在 for 循环中有内核,它是以顺序模式管理还是存在逻辑并行?

1 个答案:

答案 0 :(得分:2)

顺序代码仍将按顺序计算,唯一的变化是所有线程都会计算此代码并行。

让我们假设下面是简单的内核(在这里写下的corde,未经过测试):

__global__ void kernel(int *array, int N)
{
  if (threadIdx.x < N)
  {
    // complete for loop is computed parallel for different threads
    for (int i=0; i<1000; i++)
    {
      // every single thread perfomes this statement 1000 times
      array[threadIdx.x] += i;
    }
  }
}

对于同一warp中的不同线程,将完全并行计算完整的for循环。 但是每个线程都为自身的循环顺序计算这个。