答案 0 :(得分:2)
CUDA为原子操作提供编译器内在函数。有关每种计算功能可用的原子操作的更多详细信息,请参阅“CUDA C编程指南”。 counters是指向gridDim.x大小的整数数组的指针。每个线程都会增加由它的blockIdx.x索引的数组值。
__global__ void CountThreadsInBlock(int* counters)
{
int i = blockIdx.x;
atomicAdd(&counters[i], 1);
}
// NOTE: Assume 1D launch.