Device RNG - Passes BigCrush

I can’t speak for Tim on why this was chosen, but it’s characteristics in terms of minimal required state, high speed, and quality of randomness make it a sound choice for the GPU, I think. CPU implementations are a completely different matter.
Anyway, this thread started because I misinterpreted a comment in the code (philox2x32 7 rounds is sufficient to pass SmallCrush) and thought that it only passed SmallCrush and not the more stringent tests. I’ve spent days of GPU time producing and testing random numbers using this generator and I haven’t seen any flaws. That doesn’t prove a thing of course but it does provide some level of confidence. I have seen a Master’s thesis from Florida State University where a version of philox failed the Knuth Gap tests. I tried to produce the same results but without success.

1 Like