Overview

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.

AOCC Features

  • Built for applications targeting 32-bit and 64-bit Linux® platforms
  • Leverages the robust LLVMTM Compiler Infrastructure
    • Based on LLVM 17.0.6 release (llvm.org, Nov 2023).
    • Optimized for AMD processors based on the AMD "Zen" core architecture, spanning AMD "Zen," AMD "Zen2", AMD "Zen3", AMD "Zen4", and AMD "Zen5" architecture generations.
    • Leverages Clang as the default front-end for C and C++ applications.
  • Compliances
    • C17 is the default standard for C.
    • C++17 is the default standard for C++.
    • Debugging support for C, C++, and Fortran applications in compliance with DWARFv4 standard by default. DWARFv5 support is also available.
    • Offering Flang as the default Fortran front-end compiler supporting F2008 and Real128 features. Coarrays are not supported.
    • Supports OpenMP 5.0 for C and C++ applications, and OpenMP 4.5 for Fortran applications.
  • Advanced Optimizations
    • Inter/Intraprocedural analysis and optimizations
    • SLP and loop vectorizations
    • Loop optimizations
  • Debugging support for
    • C, C++, and Fortran applications in compliance with DWARFv4 standard by default. DWARFv5 support is also available.
    • OpenMP Debugging Interface (OMPD) in OpenMP host C and C++ applications.
    • CPU Offloaded codes in Fortran OpenMP.
  • Supports Spack open-source utility for flexible package management, including use by AMD optimized application recipes.
  • Other features:
    • -fPIC and -fPIE options made default since 4.1.
    • Default optimization level is -O2 since 4.1.

Notes

  1. AOCC compiler binaries depend on Linux® systems having Glibc version 2.28 or later.
  2. As -fPIC and -fPIE options are default since AOCC 4.1, location independent code is generated by default. With AOCC 4.1 or later, static libraries that are statically linked and not using -fPIC options so far must be rebuilt with AOCC with these default options. Else, it could display a linker error. Alternatively, use the options -fno-PIC/-fno-PIE with AOCC to disable generating location independent code.

What’s new in AOCC 5.0 (October 10, 2024)

  • Based on LLVM 17.0.6 release (llvm.org, Nov 2023)
  • Optimized support for AMD "Zen5" architecture
  • Improved SLP and loop vectorization
  • Improved LICM and loop optimizations
  • Enhanced control/data flow optimizations
  • Zen5 tuned AOCL-LibM 5.0 (AMD Math Library)

Download with End User License Agreement

For installation guidance, refer to README.

File Name Version Release OS Bitness Description Checksum sha256sum Size
aocc-compiler-5.0.0.tar 5.0 10/10/2024 Ubuntu®, RHEL®, SLES®, Debian® 32 and 64-bit This tar file can be untarred and used on the listed distributions.
SUSE Linux Enterprise Server does not support compilation of 32-bit applications. It only offers runtime support for 32-bit binaries. For more information, refer to the SUSE documentation 966fac2d2c759e9de6e969c10ada7a7b306c113f7f1e07ea376829ec86380daa 136MB
aocc-compiler-5.0.0_1_amd64.deb 5.0 10/10/2024 Ubuntu®, Debian® 32 and 64-bit This .deb file is for Debian based distributions.
b937b3f19f59ac901a2c3466a80988e0545d53827900eaa5b3c1ad0cd9fdf0c8 139MB
aocc-compiler-5.0.0-1.x86_64.rpm 5.0 10/10/2024 RHEL® 32 and 64-bit This .rpm file is for RedHat distribution.
f3100d911145672c40033e99df164a37ad4a846e93a5b0a5e602c685af995f62 140MB
aocc-compiler-5.0.0.sles15-1.x86_64.rpm 5.0 10/10/2024 SLES® 64-bit This .rpm file is for SUSE Linux Enterprise Server distribution.
SUSE Linux Enterprise Server does not support compilation of 32-bit applications. It only offers runtime support for 32-bit binaries. For more information, refer to the SUSE documentation.
87708c8dfa6d7d8d217d5bef549db3abb580e8a59b3ce6ecfb912966347b82b1 139MB

Resources and Technical Support

Documentation and Downloads

Support

For support options, refer to Technical Support.

AMD Community

For moderated forums, refer to the AMD community.