Use GenPC
(Permuted Congruential) as the default random number generator everywhere
#1099
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
GenPC
is already the default generator used byRngState
when not passed to the constructor:raft/cpp/include/raft/random/rng_state.hpp
Lines 48 to 52 in a9e060d
But the default value for the
GeneratorType
remainedGenPhilox
in some prims, such asmake_blobs
andmake_regression
. PC is faster and more reliable, so it should be the default there too.Also, whenever possible, the generator type shouldn't be hardcoded, it should either use the default (construct
RngState
with the seed only) or an argument (as is the case withmake_blobs
andmake_regression
).Note: this will effectively modify many test inputs, so be aware of that when comparing results prior to and following the change.