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
- 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
- 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)
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.
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 |