Skip to content

AMD Optimizing CPU Libraries and Compilers

With the purchase of amd20 cluster, we've installed AOCC (AMD Optimizing C/C++ Compiler) compiler system and AOCL (AMD Optimizing CPU Libraries) on the HPCC system. Here we introduce how to use the installed compilers and libraries.

Based on LLVM 10.0 release, AMD compilers use the commands clang, clang++ and flang to compile c, c++ and fortran codes respectively. Users can simply load an AOCC module and use the command directly. To find out the version of AOCC installed in HPCC, please run the following command on a dev node. All modules should be able to load directly.

1
 module spider AOCC

AOCL are a set of numerical libraries specifically tuned for the AMD EPYC processor family. The Libraries can work with either AOCC or GCC compilers. Users need to load a version of GCC or AOCC module before AOCL can be loaded. All available versions of AOCL can be found by running the following command on a dev node. Using AOCL on the new amd20 nodes is considered to provide better performance than using GCC compiled libraries (such as OpenBLAS, ScaLAPACK ...). User can find out how to use the libraries and the linkers from the documentation.

1
 module spider AOCL

Besides AOCC and AOCL, a version of OpenMPI compiled with AOCC (version 2.2.0) is also installed in case users would like to test MPI programs with AMD compilers. Users can simply load the aompi toolchain by running the following command on a dev node to load both AOCC and OpenMPI (version 4.0.3). 

1
ml -* aompi

An aoacl toolchain is also available and able to load the triple modules: AOCC, OpenMPI and AOCL at a time.

Note

We do not currently have the latest AOCL module installed. You must instead install and link from your home directory if you would like to use the latest AOCL with the latest AOCC.

For more information, please see AMD's pages on AOCC and AOCL.