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.

AOCC offers many features, notably:
  • 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
  • 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

AOCC User Guide

AOCC Release Notes

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.

File Name Version Size Launch Date OS Bitness Description

File Name

Version

3.2

Size

85 MB

Launch Date

12/10/2021

OS

Linux®

Bitness

32/64-bit

Description

sha256sum: 8493525b3df77f48ee16f3395a68ad4c42e18233a44b4d9282b25dbb95b113ec

File Name

Version

3.2

Size

88 MB

Launch Date

12/10/2021

OS

Ubuntu®

Bitness

32/64-bit

Description

sha256sum: 98ef7f3007fa40105f2a7fdb94e7f5869495c353f3ec558c32442d9b83f75201

File Name

Version

3.2

Size

98 MB

Launch Date

12/10/2021

OS

RHEL®

Bitness

32/64-bit

Description

sha256sum: 90c346c06fb68c72649e215d0f22d9d48db2f04607810f19ab35184fbd128a71

File Name

Version

3.2

Size

87 MB

Launch Date

12/10/2021

OS

SLES®

Bitness

32/64-bit

Description

sha256sum: 8123748d07878d4bcb50da5ff289c4b4f7d0941c4365e5e0b5b3c416386f8c97