AOCL-RNG

AOCL-RNG is a high-performant implementation of the vector based Random Number Generator library, which provides a set of pseudorandom number generators, quasi-random number generator, and statistical distribution functions optimized for AMD “Zen”-based processors. Statistical distribution functions include continuous and discrete types. Random numbers of type Integer, Single Precision and Double Precision are provided in addition to seven base generators and 23 distribution generators. Using a custom-built generator as the base generator for all distribution generators is possible. AOCL-RNG is dependent on AOCL-LibM and Single-threaded AOCL-BLAS.

Highlights of AOCL-RNG 5.0

  • Added AVX2 based optimized kernel for double precision MRG32K3A base generator
  • Added Sobol quasi-random number generator as new base generator
  • Supports AOCL_ENABLE_INSTRUCTIONS environment variable to select specified ISA kernels
  • Added integer arithmetic based native implementation for double precision MRG32K3A base generator

The package containing AOCL-RNG binaries, examples, and documentation can be found in the Download section.

AOCL-SecureRNG

The AOCL-SecureRNG library provides APIs to access the cryptographically secure random numbers generated by AMD’s hardware-based random number generator implementation. These high quality random numbers are robust and are designed to suit cryptographic applications. The library uses RDRAND and RDSEED x86 instructions provided by AMD hardware. Applications can link to the library and invoke either a single or a stream of random numbers. Random numbers of 16-bit, 32-bit, 64-bit or arbitrary size bytes are supported.

AOCL-SecureRNG 5.0 includes:

  • APIs to verify support for RDRAND and RDSEED instructions on the target machine
  • Retrieve 16-bit, 32-bit, 64-bit or arbitrary size bytes using RDRAND and RDSEED instructions
  • APIs support retrial in case of a failure in RNG hardware

Documentation

Downloads

File Name Version Size Launch Date OS Bitness Description
Binary Packages Compiled with AOCC 5.0
aocl-rng-linux-aocc-5.0.0.tar.gz 5.0 1.1MB 10/10/2024 RHEL, Ubuntu, SLES 64-bit AOCC compiled AOCL-RNG library binary package
sha256 Checksum: 91082270d5f27373675001017fe80627472ba795b2a07de445eee51035ba7101
aocl-securerng-linux-aocc-5.0.0.tar.gz 5.0 188KB 10/10/2024 RHEL, Ubuntu, SLES 64-bit AOCC compiled AOCL-SecureRNG library binary package
sha256 Checksum: 37211927670fcc3d344beab167f669a6ae48d7860d6294226492f711ef43b6b8
Binary Packages Compiled with GCC 13.2.1
aocl-rng-linux-gcc-5.0.0.tar.gz 5.0 944KB 10/10/2024 RHEL, Ubuntu, SLES 64-bit GCC compiled AOCL-RNG library binary package
sha256 Checksum: 42da81611e21d41a42477dfed061ef4befbbcd99b032e175a2dae8539d280b72
aocl-securerng-linux-gcc-5.0.0.tar.gz 5.0 188KB 10/10/2024 RHEL, Ubuntu, SLES 64-bit GCC compiled AOCL-SecureRNG library binary package
sha256 Checksum: 5e3d345f9044c164c0d44292a2cb050c377046e06c9e483061e3d03bae8b4732
Windows Installer Containing AOCL-RNG and AOCL-SecureRNG
AOCL_Windows-setup-5.0.0.384-AMD.exe 5.0 104MB 10/10/2024 Windows 11, Windows 10 64-bit Windows installer file containing all the AOCL library binaries compiled with Clang 17.
sha256sum: 026405b98e2cf3c529bacdf76eb6e43935b639ed2ab8e90cba22bb992ecf13de