Итак, я разрабатываю симуляцию Монте-Карло PI на кластере GPU.
В настоящее время я выбираю один алгоритм генератора случайных чисел, скажем, XorShift7. И из-за ограничения алгоритма для одного начального числа он может генерировать только 2 ^ 32 числа, поскольку это 32-битный алгоритм, и последовательность будет повторяться после 2 ^ 32 чисел. Я позволяю каждому работнику кластера вычислять часть всей последовательности, а затем уменьшаю их.
Вопрос в том, я хочу увеличить случайные числа. Моя идея заключается в том, что я хочу использовать несколько последовательностей случайных чисел с другим алгоритмом и другим начальным числом, например:
cluster worker1: calc XorShift7(seed=0) from number0 to number2^31
cluster worker2: calc XorShift7(seed=0) from number2^31 to number2^32
cluster worker3: calc XorShift7(seed=1) from number0 to number2^31
cluster worker4: calc XorShift7(seed=1) from number2^31 to number2^32
cluster worker5: calc Mrg32k3a(seed=0) from number0 to number2^31
cluster worker6: calc Mrg32k3a(seed=0) from number2^31 to number2^32
cluster worker7: calc Mrg32k3a(seed=1) from number0 to number2^31
cluster worker8: calc Mrg32k3a(seed=1) from number2^31 to number2^32
Затем я усредняю значение 8 результатов от 8 рабочих.
Мой вопрос в том, нарушит ли это свойства случайных чисел со статистической точки зрения?