次のように cuda カーネルで共有変数を定義するとします。
__shared__ int var;
ここで、カーネルのある時点で、たとえば に何らかの値を割り当てたいとしましょ100
うvar
。言って
var = 100;
ブロック内のすべてのスレッドがこの割り当てを実行します。
割り当てを 1 回だけ行うにはどうすればよいですか? これが私の唯一のオプションですか:
if( threadIdx.x == 0)
var = 100;
?
次のように cuda カーネルで共有変数を定義するとします。
__shared__ int var;
ここで、カーネルのある時点で、たとえば に何らかの値を割り当てたいとしましょ100
うvar
。言って
var = 100;
ブロック内のすべてのスレッドがこの割り当てを実行します。
割り当てを 1 回だけ行うにはどうすればよいですか? これが私の唯一のオプションですか:
if( threadIdx.x == 0)
var = 100;
?