You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With #582, we have domain-local PRNGs following closely along the lines of stock OCaml. In particular, the behaviour remains the same for sequential OCaml programs. But the situation for parallel programs is not ideal. Without explicit initialisation, all the domains will draw the same initial sequence.
@xavierleroy suggested the use of splittable PRNGs which could one day replace OCaml's Random module. Multicore OCaml should prototype PRINGO as a replacement for the current Random module (after MVP).
The text was updated successfully, but these errors were encountered:
For the record: it is also possible to use a PRNG that supports "jumping" but not arbitrary splitting. If you see a PRNG as a very long sequence of states s(i), producing one random number moves to the next state in the sequence, and jumping efficiently moves 2^64 or 2^128 states forward in the sequence. From a given seed, jumping N times produces N independent PRNGs that can be used by N different domains.
With #582, we have domain-local PRNGs following closely along the lines of stock OCaml. In particular, the behaviour remains the same for sequential OCaml programs. But the situation for parallel programs is not ideal. Without explicit initialisation, all the domains will draw the same initial sequence.
@xavierleroy suggested the use of splittable PRNGs which could one day replace OCaml's Random module. Multicore OCaml should prototype PRINGO as a replacement for the current Random module (after MVP).
The text was updated successfully, but these errors were encountered: