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
- AOCC compiler binaries depend on Linux® systems having Glibc version 2.28 or later.
- 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
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
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
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
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
- AOCC User Guide
- AOCC Quick Reference Guide
- AOCC Release Notes
- Prior versions: AOCC Archive
Support
For support options, refer to Technical Support.
AMD Community
For moderated forums, refer to the AMD community.