Skip to content

Latest commit

 

History

History
26 lines (15 loc) · 904 Bytes

File metadata and controls

26 lines (15 loc) · 904 Bytes

Random Adventures

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.

TODO

  • CUDA implementation

Requirements

  • GCC (may work with Clang, but not tested)
  • CPU with AVX512 instructions

Attribution

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.

See: https://prng.di.unimi.it/xoshiro128plusplus.c