如何保证核函数中的数据同步?

int x = blockIdx.y;
int y = threadIdx.x

pdBackProjection[x*IMG_SIZE+y] += pdImg2d[i*IMG_SIZE+j];

核函数中有这样的语句,对pdBackProjection操作的时候是不是要设置同步,如果需要应该怎样设置?

LZ您好:

1:您的“pdBackProjection[x*IMG_SIZE+y]”如果能保证每个线程都写入不同的位置,那么可以直接使用,无需其他操作。

2:如果不能保证每个线程都写入不同的位置(即,写入区域有重叠的部分),以及,如果您的算法本意是要进行累加,那么请使用原子操作以保证结果的正确性。

3:您提供的信息不足以进行进一步分析。

祝您好运~

谢谢版主,问题已解决