如何对共享内存进行原子操作?
我有类似的东西:
__shared__ int a[10];
//set a
if(tid<5)
a[2]++;
因此 5 个线程正在递增 a。我怎样才能做到这一点?
我知道以这种方式我正在序列化 5 个线程的执行,但这对扭曲有何影响?经线中的所有线程都会被序列化还是只序列化前 5 个?
如何对共享内存进行原子操作?
我有类似的东西:
__shared__ int a[10];
//set a
if(tid<5)
a[2]++;
因此 5 个线程正在递增 a。我怎样才能做到这一点?
我知道以这种方式我正在序列化 5 个线程的执行,但这对扭曲有何影响?经线中的所有线程都会被序列化还是只序列化前 5 个?