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