Skip to content
/ vprng Public
forked from Marc-B-Reynolds/vprng

fast portable 256-bit SIMD pseudo random number generator

License

Notifications You must be signed in to change notification settings

fp64/vprng

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 

Repository files navigation

vprng

fast portable 256-bit SIMD pseudo random number generators.

!!! TIP This is an alpha version

Implements two generators:

Required compiler features:

  • C11 for standard atomic operations
  • GCC vector_size attribute

Required SIMD hardware operations (for performance):

  • 64-bit addition
  • 64-bit shift by constant (same per lane)
  • 32-bit product (low 32-bit result)

Example variants can up the ante on hardware operations.

For speed it requires one more logical operation (an xorshift) vs. SplitMix64 (SIMD instead of scalar ops)

About

fast portable 256-bit SIMD pseudo random number generator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 91.9%
  • Shell 6.3%
  • Makefile 1.8%