出于调试目的,我需要使用cuda random library,curand在给定块的所有线程中生成相同的随机序列。
我尝试使用零种子和零序列,使用marsenne twister和xorwow,但如果块具有不同的线程数,我仍然会得到两个不同的序列。
例如,使用curand_init(0, 0, 0, &state)
和一个线程,我得到两个数字:
0.442526 0.809567
使用相同的初始化代码,但是两个线程,我得到: 0.446065 0.730273
鉴于我并不真正关心现在使用的引擎,如何在给定种子参数的情况下获得相同的随机序列,并且独立于该块中的线程数?