NEW! AOCC 3.2 is now available Dec 10, 2021 Downloads Documentation
The AMD Optimizing C/C++ and Fortran Compilers (“AOCC”) are a set of production compilers optimized for software performance when running on AMD host processors using the AMD “Zen” core architecture. Supported processor families are AMD EPYC™, AMD Ryzen™, and AMD Ryzen™ Threadripper™ processors. The AOCC compiler environment simplifies and accelerates development and tuning for x86 applications built with C, C++, and Fortran languages.
- For applications targeting 32-bit and 64-bit Linux® platforms
- Leveraging the robust LLVM™ Compiler Infrastructure
- Optimized throughout for AMD processors based on the AMD “Zen” core architecture, spanning AMD “Zen,” AMD “Zen2”, and AMD “Zen3” architecture generations
- Leveraging Clang as the default C/C++ front-end compiler
- Offering Flang as the default Fortran front-end compiler supporting F2008 and Real 128 features
- Advanced and global optimizations
- Multi-threading and vectorization
- Inter-procedural analyses
- Loop transformations
- Debugging support for
- Clang/clang++ and Flang DWARF standards
- OpenMP Debugging Interface (OMPD) in OpenMP host C/ C++ programs
- CPU Offloaded codes in FORTRAN OpenMP
- Support of the Spack open-source utility for flexible package management, including use by AMD optimized application recipes
Note: AOCC compiler binaries depend on Linux® systems having glibc version 2.17 or later.
What’s new in AOCC 3.2 (December 10, 2021)
- Based on LLVM 13.0 (llvm.org, October 4, 2021)
- Fortran Flang compiler improvements
- Address, Memory, Thread and Safe stack sanitization support
- (NO)FREEFORM pragma is supported
- Debuggability support for Fortran namelist and macros
- Compliance to standards
- Improved OpenMP 4.5 support for Fortran
- Supporting clauses ‘depend’ and ‘use_device_ptr’
- Supporting directives ‘do,’ ‘ordered,’ ‘task,’ and parallel’
- Improved F2008 support
- The Value attribute is permitted for non-allocatable, non-pointer, non-coarray
- AOCC Flang debuggability upgraded to support the Dwarf 5 standards
- Improved OpenMP 4.5 support for Fortran
- Tested on RHEL 8, CentOS 8, SLES 15, and Ubuntu 20.04 LTS
- AOCC Clang and Flang compiler details are no longer separate documents but fully integrated within the AOCC 3.2 User Guide
Previous releases
AOCC 3.1 (July 19, 2021)
- Based on LLVM 12.0 (llvm.org, April 14, 2021)
- Added vector, inline, and unroll related pragma directives in Flang
- OMP 4.5 increased coverage for if clauses, parallel clauses and mapping structure to target in FORTRAN
- Tested on RHEL 8, CentOS 8, SLES 15, and Ubuntu 20.04 LTS
AOCC 3.0 (March 15, 2021)
- Based on a pre-production branch of LLVM 12 (llvm.org October 22, 2020)
- Support and optimization added for AMD Family 19h processors (“AMD Zen3” core architecture)
- Tuned for ALM (AMD math library v3.7)
- Flang set as the default Fortran front-end compiler with Real 128 data type support as part of F2008 features
- Debuggability support for clang/clang++ DWARF5 standards
- Debuggability support for Flang DWARF4 standards
- Improved debugging support for FORTRAN arrays and pointers
- Support for OpenMP Debugging Interface (OMPD) in OpenMP host C/ C++ programs for improved debugging
- Debug information support for offloaded codes in FORTRAN OpenMP
- Tested on RHEL 8, CentOS 8, SLES 15, and Ubuntu 20.04 LTS
Resources and Technical Support
Documentation
Compiler Options Quick Reference Guide for AMD EPYC 7xx3 Series Processors
Refer here for prior versions of AOCC documentation and downloads.
Support
Refer Technical Support for support options.
AMD Community
Also refer the AMD community for moderated forums.
Download with End User License Agreement
Refer README for installation guidance.