Introduction

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.

Note: Currently Spack supports AOCC-2.2.0 or higher versions, however installation of the compiler through Spack is supported from AOCC-3.2.0 onwards.

Official Website: https://www.amd.com/en/developer/aocc.html

 

Installing AOCC via Spack

    # Installation of AOCC
$ spack install aocc +license-agreed
 
# The compiler can be added to spack in two ways
# Add the installed compiler by providing the path
$ spack cd -i aocc
$ spack compiler add $PWD
  
# Add the installed compiler from the environment
$ spack load aocc
$ spack compiler find

Explanation of the command option

Symbol Meaning
+license-agreed Variant to accept AMD End User License Agreement for AOCC (Mandatory for AOCC installation)

 

Supported AOCC Versions for Installation via Spack

AMD supports the following versions of AOCC usage in Spack:

  • AOCC-4.0.0
  • AOCC-3.2.0

Note: AOCC versions prior to AOCC-3.2.0 can be installed outside spack and then added to spack using spack compiler add /path/to/aocc/installation

 

Supported AOCC Versions for Use in Spack

AMD supports the following versions of AOCC usage in Spack:

  • AOCC-4.0.0
  • AOCC-3.2.0
  • AOCC-3.1.0
  • AOCC-3.0.0
  • AOCC-2.3.0
  • AOCC-2.2.0

 

Uninstalling AOCC

    # Uninstallation of AOCC
$ spack uninstall aocc
 
# Removal of the compiler from compiler.yaml
$ spack compiler remove aocc