给share变量赋值

斑竹大人,如果我要对share变量赋值,是不是在每个块中应该用一个线程去赋值。
比如:

 int b=0;
__shared__ float  SData; 
if (tdy*blockDim.x+tdx==0){
   SData=100;
   }
   b+=SData;

但是我后面要对每个变量b加上SData的值,在这里赋值过后需不需要同步?谢谢

LZ您好:

1:您可以使用全部/部分/单个线程对shared memory中的变量/数组进行赋值,怎么写都可以,随您安排。

2:给shared memory赋值,请注意同步。

大致如上,供您参考。

祝您好运~

哦。。谢谢斑竹。。原来对第二点不是很清楚。。现在知道了。。谢谢