AOCL-RNG

The AOCL-RNG is a Pseudo Random Number Generator (PRNG) library. A PRNG produces a stream of variates that are independent and statistically indistinguishable from a random sequence. The AOCL-RNG provides a comprehensive set of statistical distribution functions which are founded on various underlying uniform distribution generators (base generators) including Wichmann-Hill and Mersenne Twister. The library contains six base generators and twenty-three distribution generators. In addition, users can supply a custom-built generator as the base generator for all the distribution generators. The AOCL-RNG API guide can be referenced here.

Highlights of AOCL-RNG 4.2

  • AVX512 support for single precision SFMT Generator and Gaussian Distribution Generator
  • AVX2 support for single precision Gaussian Distribution Generator
  • Improved performance of double precision SFMT Generator and Gaussian Distribution Generator        
  • Sphinx- based documentation support  

The package containing AOCL-RNG binaries, examples and documentation are available in the Download section below.

AOCL-SecureRNG

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

AOCL-SecureRNG 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 any failure in RNG hardware

The package containing AOCL-SecureRNG Library source, binaries, examples, and documentation are available in the Download section below.

AMD Secure Random Number Generator Library

For prior versions of AOCL-RNG and AOCL-SecureRNG, refer to Random Number Generator Libraries Archive.

Download:

File Name Version Size Launch Date OS Bitness Description
Binary Packages Compiled with AOCC 4.2
aocl-rng-linux-aocc-4.2.0.tar.gz 4.2 1.8 MB   RHEL, Ubuntu, SLES 64-bit AOCC compiled AOCL-RNG library binary package sha256 Checksum: 835ee56eaf4143125004be92313d6ddaef454bba505d6f1504990ee290384d53
aocl-securerng-linux-aocc-4.2.0.tar.gz 4.2 188 KB   RHEL, Ubuntu, SLES 64-bit AOCC compiled AOCL-SecureRNG library binary package sha256 Checksum: 7d9176a52bbfca50baf20bda173e1ceef4ddca3fa4f271e9b7a2f0f7f84a552c
Binary Packages Compiled with GCC 13.1
aocl-rng-linux-gcc-4.2.0.tar.gz 4.2 1.7 MB   RHEL, Ubuntu, SLES 64-bit GCC compiled AOCL-RNG library binary package sha256 Checksum: 3bd2b1dd2e7b0838d5d5b3540e7e09a9e4ab06bc56dbae1b382954e2a53839d8
aocl-securerng-linux-gcc-4.2.0.tar.gz 4.2 188 KB   RHEL, Ubuntu, SLES 64-bit GCC compiled AOCL-SecureRNG library binary package sha256 Checksum: 34c5ee6f5404062eacaf135679a5876765ffcecb2d568b2ff5daada88ce3efa0