CUDAのランダムジェネレーターについて質問があります。Curandを使用して、次のコードで乱数を生成しています。
__device__ float priceValue(int threadid){
unsigned int seed = threadid ;
curandState s;
curand_init (seed , 0, 0, &s);
float randomWalk = 2;
while (abs(randomWalk)> 1) {
randomWalk = curand_normal(&s);
}
return randomWalk;
}
私はこのコードを何度も再起動しようとしましたが、常に同じ出力があります。このコードの何が問題なのかわかりませんでした。スレッドは同じIDを提供しますが、curand_normal関数は起動するたびに変更する必要がありますよね?