NEW! AOCL 2.2 is now available 

AOCL are a set of numerical libraries tuned specifically for AMD EPYCTM processor family. They have a simple interface to take advantage of the latest hardware innovations. The tuned implementations of industry standard math libraries enable fast development of scientific and high-performance computing projects.

What’s NEW

  • AOCL Sparse Library
  • AMD optimized memcpy

Highlights of AOCL 2.2

  • Sparse – NEW 
    • Includes Sparse Matrix Vector Multipy(SPMV) API for Single and Double Precision data type
    • Supports CSR and Ellpack data formats for SPMV function
  • AMD BLIS
    • Improved performance for Level-1 BLAS routines for single and double precision.
    • Improved performance of SGEMV and DGEMV for large sizes.
    • Improved performance of Small/Skinny GEMM,TRSM kernels
    • GEMM Selective packing feature is now multithread enabled.
    • Logging/Tracing capabilities
  • AMD FFTW
    • Improved performance of in-place MPI FFT by employing a faster in-place MPI transpose routine.
    • Improved performance of copy function cpy2d_pair used for rank-0 transform and buffering plans.
    • Added DFT kernels of higher radix sizes for q, t and n series FFT codelets.
  • AMD LibM
    • Improved performance of vector pow(), log(), exp()
  • AMD libFLAME
    • Upgraded to LAPACK 3.9.0 specification
  • AMD ScaLAPACK
    • Upgraded to 2.1.0 specification of Netlib ScaLAPACK
    • New re-designed algorithm for double precision LU Factorization
  • Memcpy
    • Optimized memcpy for sizes greater than 1MB
  • Spack
  • General
    • DEB, RPM packages are available

For any issues or queries regarding the libraries, please contact toolchainsupport@amd.com

AOCL-Sparse  New 

AOCL-Sparse is a library that contains basic linear algebra subroutines for sparse matrices and vectors optimized for AMD EPYC family of processors. It is designed to be used with C and C++. Current functionality of sparse library supports SPMV function with CSR and ELLPACK formats.

Sparse for AMD source can be cloned from Github link https://github.com/amd/aocl-sparse. Pre-built AMD optimized Sparse can be installed from the AOCL master installer tar file available under the Download section below.

BLIS

BLIS is a portable open-source software framework for instantiating high-performance Basic Linear Algebra Subprograms (BLAS) – like dense linear algebra libraries. The framework was designed to isolate essential kernels of computation that, when optimized, immediately enable optimized implementations of most of its commonly used and computationally intensive operations. Select kernels have been optimized for the AMD EPYCTM processor family by AMD and others.

Source code is available on GitHub https://github.com/amd/blis.

FFTW (Fastest Fourier Transform in the West)

FFTW is a comprehensive collection of fast C routines for computing the Discrete Fourier Transform (DFT) and various special cases thereof. It is an open-source implementation of the Fast Fourier transform algorithm. It can compute transforms of real and complex-values arrays of arbitrary size and dimension. An AMD optimized FFTW that includes selective kernels and routines optimized for the AMD EPYCTM processor family is available

Source code is available on GitHub https://github.com/amd/amd-fftw

AMD Math Library (LibM)

AMD LibM is a software library containing a collection of basic math functions optimized for x86-64 processor-based machines. It provides many routines from the list of standard C99 math functions.
Applications can link into AMD LibM library and invoke math functions instead of compiler’s math functions for better accuracy and performance

libFLAME

libFLAME is a portable library for dense matrix computations, providing much of the functionality present in Linear Algebra Package (LAPACK). It includes a compatibility layer, FLAPACK, the FORTRAN interface, which includes complete LAPACK implementation. The library provides scientific and numerical computing communities with a modern, high-performance dense linear algebra library that is extensible, easy to use, and available under an open source license. In combination with the BLIS library which includes optimizations for the AMD EPYCTM processor family, libFLAME enables running high performing LAPACK functionalities on AMD platform.

Source code is available on GitHub https://github.com/amd/libflame.

ScaLAPACK

ScaLAPACK is a library of high-performance linear algebra routines for parallel distributed memory machines. It depends on external libraries including BLAS and LAPACK for Linear Algebra computations. AMD’s optimized version of ScaLAPACK enables using BLIS and libFLAME library that have optimized dense matrix functions and solvers for AMD EPYCTM processor family CPUs.

ScaLAPACK can be installed either from source or pre-built binaries.

ScaLAPACK for AMD source can be cloned from Github link https://github.com/amd/scalapack. Pre-built AMD optimized ScaLAPACK can be installed from the AOCL master installer tar file available under the Download section below.

AMD Random Number Generator Library

AMD Random Number Generator Library is a pseudorandom number generator library. It provides a comprehensive set of statistical distribution functions and various uniform distribution generators (base generators) including Wichmann-Hill and Mersenne Twister. The library contains five base generators and twenty-three distribution generators, in addition to hooks for user provided base generator.

AMD Secure RNG Library

The AMD Secure Random Number Generator (RNG) 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 that are designed to be suitable for cryptographic applications.

 

Resources & Technical Support

AOCL is a well-supported library suite.  You can get technical support as mentioned below.

  • 1×1 Ticketing system for NDA customers : A dedicated expert can provide you a 1×1 support, advice or help debug an issue over the private web based ticketing . You need NDA with AMD and AMD-SSO login.
  • Email based support: You can also opt for 1×1 support, report issues or seek expert help by emailing toolchainsupport@amd.com . This channel is open to all customers.

Blogs/Forums

AMD Libraries Forum

https://community.amd.com/community/devgurus/amd-compute-libraries 

Documentation

AOCL User Guide

AMD Secure Random Number Generator Whitepaper

AMD Random Number Generator – User Guide

 

Download:

Refer here for older versions

Note: Below binary packages are generated and validated with following configuration. If user needs to use with other configuration, we recommend to build the required library from source as per instructions provided in user guide.

FFTW : OS ( 19.04) , GCC ( 9.1), AOCC ( 2.2), OpenMPI(3.1.1), OpenMP(4.5), Glibc(2.29), Python(2.7)
Other libraries : OS ( 18.04) , GCC ( 9.3), AOCC ( 2.2), OpenMPI(3.1.1), OpenMP(4.5), Glibc(2.27), Python(2.7)

File Name Version Size Launch Date OS Bitness Description

File Name

Version

2.2

Size

56.9MB

Launch Date

06/30/2020

OS

Ubuntu, SLES, CentOS, RHEL

Bitness

64-bit

Description

AOCC compiled AOCL tar file containing all the library binaries. It includes install.sh file that extracts and installs the libraries sha256sum: 4bdc5caec0233066ded3e2bfedb1e03bdeec82725361764d8860075f64ff4031

File Name

Version

2.2

Size

63MB

Launch Date

06/30/2020

OS

Ubuntu, SLES, CentOS, RHEL

Bitness

64-bit

Description

GCC compiled AOCL tar file containing all the library binaries. It includes install.sh file that extracts and installs the libraries sha256sum: 2cdfbf9f03be7b4756316f0ecd117cf323d3a54e0d66d7fcaa4bc947e1846540

File Name

Version

2.2

Size

27.5MB

Launch Date

06/30/2020

OS

Ubuntu, SLES, CentOS, RHEL

Bitness

64-bit

Description

AOCC compiled Debian package sha256sum: 391bdaa31fc7c02265b0aee7766e2c253d44efb0113f73b1ce6f02c1fd945064

File Name

Version

2.2

Size

48MB

Launch Date

06/30/2020

OS

Ubuntu, SLES, CentOS, RHEL

Bitness

64-bit

Description

AOCC compiled RPM package sha256sum: cf7b0b765b236e76ec29aa5ceeb8975e95aaf202441c311ac95bd9e84e012f0e

File Name

Version

2.2

Size

36.6MB

Launch Date

06/30/2020

OS

Ubuntu, SLES, CentOS, RHEL

Bitness

64-bit

Description

GCC compiled Debian package sha256sum: 1b184aed54fe66af7a1227b84ff1f2620827b44f13035959a180101234b6750b

File Name

Version

2.2

Size

61MB

Launch Date

06/30/2020

OS

Ubuntu, SLES, CentOS, RHEL

Bitness

64-bit

Description

GCC compiled RPM package sha256sum: 3d33f6d3ea29cf97dae20e7be99b32c24557d013caf89c00b9444733acae0483

File Name

Version

2.2

Size

5KB

Launch Date

06/30/2020

OS

Ubuntu, SLES, CentOS, RHEL

Bitness

64-bit

Description

AOCC compiled memcpy tar package sha256sum: 964d10cf114f4b0782cd1c2fd8a61b39704324cb8767cd7d51be8c0c6772cdbb

File Name

Version

2.2

Size

5KB

Launch Date

06/30/2020

OS

Ubuntu, SLES, CentOS, RHEL

Bitness

64-bit

Description

GCC compiled memcpy tar package sha256sum: 76d3c630d2b09051b74adaf54b19b82c9821858b423bb55b6230b30c8a954d08