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.
- 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
- Optimized memcpy for sizes greater than 1MB
- Spack packages for AMD optimized version of BLIS, libFLAME and FFTW libraries at https://github.com/amd/spack
- DEB, RPM packages are available
For any issues or queries regarding the libraries, please contact firstname.lastname@example.org
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 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 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 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 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 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 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.
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.
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 email@example.com . This channel is open to all customers.
AMD Libraries Forum
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)