我可以确定在这个例子中,原子操作将按照线程的数字顺序执行吗?或者如何以不同的方式做到这一点,不包括只使用一个线程?
__shared__ unsigned int cnt[MAXLEN], s[MAXLEN];
#pragma unroll
for (int i = 0; i < MAXLEN; i+= blockDim.x)
p[atomicSub(cnt + s[threadIdx.x + i], 1) - 1] = threadIdx.x + i;
__syncthreads();