[
https://issues.apache.org/jira/browse/RNG-188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18057626#comment-18057626
]
Alex Herbert commented on RNG-188:
----------------------------------
I have taken the implementation in the PR and run it through the benchmark
stress tests. It passes Diharder, BigCrush and PractRand with 4TB of output:
{noformat}
RNG Dieharder ∩ TestU01 (BigCrush) ∩
PractRand ∩
PHILOX_4X32 0,0,0,0,0 0,1,0,1,0 -,-,-
PHILOX_4X64 0,0,0,0,0 0,0,0,2,0 -,-,-
{noformat}
Note the intersection column (∩) is always empty as there are no tests which
consistently fail.
> Add Philox random number generator
> ----------------------------------
>
> Key: RNG-188
> URL: https://issues.apache.org/jira/browse/RNG-188
> Project: Commons RNG
> Issue Type: New Feature
> Components: core
> Reporter: Alex Herbert
> Priority: Minor
>
> Add two new random number generators: philox4x32 and philox4x64 from
> [https://www.thesalmons.org/john/random123/]
> These are quite standard nowadays (part of CUDA, Numpy, default for Pytorch
> on GPU, default for TensorFlow) and there is no official Java implementation.
> Counter-based PRNGs are great for parallelization, as skipping-ahead is
> nearly as fast as a single random number generation, and the counter makes it
> very easy to create subsequences.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)