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.1

  • Added AVX512 based optimized kernel for double precision MRG32K3A base generator.
  • Minor bug fixes and improved documentation.

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.1 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.
  • Updated the AOCL-SecureRNG library to adjust the retrial count.

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
SHA-256 checksum: 37211927670fcc3d344beab167f669a6ae48d7860d6294226492f711ef43b6b8
Binary Packages Compiled with GCC 14.2.1
aocl-rng-linux-gcc-5.1.0.tar.gz 5.1 788KB 05/07/2025 RHEL, Ubuntu, SLES 64-bit GCC compiled AOCL-RNG library binary package
SHA-256 checksum: d027e3ee39f1f3cf1443e200e8c14910605975a3b218b96cdf21ff3bc41ed6e7
aocl-securerng-linux-gcc-5.1.0.tar.gz 5.1 16KB 05/07/2025 RHEL, Ubuntu, SLES 64-bit GCC compiled AOCL-SecureRNG library binary package
SHA-256 checksum: ec0f9ee0a11b7f9da022ddae79d46bd29b0544df5e8409166d14d6d3262b328a
Windows Installer Containing AOCL-RNG and AOCL-SecureRNG
AOCL_Windows-setup-5.1.0.408-AMD.exe 5.1 140MB 05/07/2025 Windows 11, Windows 10 64-bit Windows installer file containing all the AOCL library binaries compiled with Clang 18.
SHA-256 checksum: 61de98148459270ba3bd01f5b0c409299d8c0c144a925f3701e10f72678a328a