斑竹大人,如果我要对share变量赋值,是不是在每个块中应该用一个线程去赋值。
比如:
int b=0;
__shared__ float SData;
if (tdy*blockDim.x+tdx==0){
SData=100;
}
b+=SData;
但是我后面要对每个变量b加上SData的值,在这里赋值过后需不需要同步?谢谢
斑竹大人,如果我要对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赋值,请注意同步。
大致如上,供您参考。
祝您好运~
哦。。谢谢斑竹。。原来对第二点不是很清楚。。现在知道了。。谢谢