The AOCC compiler is designed for high-performance x86 CPU compilation of C, C++, and Fortran programming languages. It offers target-dependent and target-independent optimizations, with a particular focus on AMD "Zen" processors. These optimizations provide performance advantage for time-critical applications, especially in the field of high-performance computing (HPC). The AOCC compiler environment streamlines and speeds up the development and tuning process for x86 applications written in C, C++, and Fortran.
Managed Linux workstations from Ubuntu 24.04 on
Load the aocc module, then use clang/clang++/flang to compile.
If the code uses OpenMP it is essential to pass the -fopenmp flag when building using flang from this version of aocc. If this isn't done, aocc links the OpenMP stub library libompstub instead of libomp. The code will link successfully but at runtime it crashes.
Installed with spack. Requires building with an internal spack compiler, or we end up with a problem with the C++ compiler as the managed Linux workstation has two different C++ header trees - one for gcc 13 and for gcc 14 - and aocc picks the wrong one.