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
- AOCL-RNG API guide
- Blog: AMD Secure Random Number Generator Library
- Prior versions: Random Number Generator Libraries Archive
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 |