This repo contains a few smaller experiments with a random generator.
It contains a few benchmarks that measure how many random numbers can be generated per unit of time. Currently there are three implementations:
- Non-vectorized xoroshiro128 (see the Attribution section)
- A multithreaded variant (but the code is messy, and perhaps meaningless)
- A vectorized variant xoroshiro128, that generates 16 random numbers per call
This project is just for fun, and does not aim to have any production value.
- CUDA implementation
- GCC (may work with Clang, but not tested)
- CPU with AVX512 instructions
This project contains a copy of the source code for xoroshiro128 written by David Blackman and Sebastiano Vigna. All credits for the original (non-vectorized) algorithm go to them.