int x = blockIdx.y;
int y = threadIdx.x
pdBackProjection[x*IMG_SIZE+y] += pdImg2d[i*IMG_SIZE+j];
核函数中有这样的语句,对pdBackProjection操作的时候是不是要设置同步,如果需要应该怎样设置?
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:您提供的信息不足以进行进一步分析。
祝您好运~
谢谢版主,问题已解决