NEW! AOCC 5.0 is now available October 10, 2024

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 LLVM™ 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.
  • Others
    • -fPIC and -fPIE options made default since 4.1.
    • Default optimization level is -O2 since 4.1.
  • Supports Spack open-source utility for flexible package management, including use by AMD optimized application recipes.

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)

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.

Download with End User License Agreement

For installation guidance, refer to README.

File Name Version Size Launch Date OS Bitness Description
aocc-compiler-5.0.0.tar 5.0 136MB 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.
sha256sum: 966fac2d2c759e9de6e969c10ada7a7b306c113f7f1e07ea376829ec86380daa
aocc-compiler-5.0.0_1_amd64.deb 5.0 139MB 10/10/2024 Ubuntu®, Debian® 32 and 64-bit This .deb file is for Debian based distributions.
sha256sum: b937b3f19f59ac901a2c3466a80988e0545d53827900eaa5b3c1ad0cd9fdf0c8
aocc-compiler-5.0.0-1.x86_64.rpm 5.0 140MB 10/10/2024 RHEL® 32 and 64-bit This .rpm file is for RedHat distribution.
sha256sum: f3100d911145672c40033e99df164a37ad4a846e93a5b0a5e602c685af995f62
aocc-compiler-5.0.0.sles15-1.x86_64.rpm 5.0 139MB 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.
sha256sum: 87708c8dfa6d7d8d217d5bef549db3abb580e8a59b3ce6ecfb912966347b82b1