[Numpy-discussion] PRNGs and multi-threading
Sturla Molden
sturla at molden.no
Sat Aug 22 02:08:28 EDT 2009
Xavier Saint-Mleux skrev:
> Of course, the mathematically correct way would be to use a correct
> jumpahead function, but all the implementations that I know of are GPL.
> A recent article about this is:
>
> www.iro.umontreal.ca/~lecuyer/myftp/papers/jumpmt.pdf
>
>
I know of no efficient "jumpahead" function for MT. Several seconds for
1000 jumps ahead is not impressive -- just generating the deviates is
faster!
With DCMT it is easy to create "independent" MTs with smaller periods.
Independence here means that the "characteristic polynomials are
relatively prime to each other". A "small" period of e.g. 2**521 - 1
means that if we produce 1 billion deviates per minute, it would still
take the MT about 10**143 years to cycle. Chances are we will not be
around to see that happen. It also seems that nvidia has endorsed this
method:
http://developer.download.nvidia.com/compute/cuda/sdk/website/projects/MersenneTwister/doc/MersenneTwister.pdf
S.M.
More information about the NumPy-Discussion
mailing list