The AMD Optimizing C/C++ Compiler (AOCC) is an optimizing C/C++ and Fortran compiler suite from AMD targeting 32-bit and 64-bit Linux platforms. It is a proprietary fork of LLVM + Clang with various additional patches to improve performance for AMD's Zen microarchitecture in Epyc, and Ryzen microprocessors.

Release history

+AOCC version history AOCC version Date LLVM version Notes 1.0.0 May 2017 6.0 Uses DragonEgg with GCC 4.8.2 for Fortran. 1.1.0 December 2017 6.0 1.2.0 April 2018 6.0 Introduction of the Flang Fortran frontend. 1.2.1 July 2018 6.0 Bugfix release. 1.3.0 December 2018 7.0 Last version to use DragonEgg. 2.0.0 August 2019 8.0 Support for 2nd generation Zen CPUs. 2.1.0 November 2019 9.0 2.2.0 June 2020 10.0 2.3.0December 202011.0Introduction of OpenMP debugger3.0.0March 202112.0Support for 3rd generation Zen CPUs3.1.0July 202112.03.2.0December 202113.04.0.0November 202214.0Support for 4th generation Zen CPUs; Fortran 2008 and Fortran OMP 4.5 compliance improvements; Fortran debuggability improvements; improved variants of scalar, vector, and loop transformations 4.1.0August 202316.0Compliance to C++17 standards; default optimization level changed to -O2; -fPIC and -fPIE options made default; bit reproducibility support improved for C/C++ and Fortran; general improvements targeting compile time reduction; new option to display the AOCC Optimization Report; tuned for use with the AMD Math Library v4.1 4.2.0February 202416.0Bug fixes with Fortran pre-processing and compilation; bug fixes impacting performance of C, C++, and Fortran applications; tuned for use with the AMD Math Library v4.2 5.0.0October 202417.0.6Support for 5th generation Zen CPUs; OpenMP 5.0 for C/C++; improved optimizations 5.1.0January 202617.0.65.2.0May 202617.0.6Bug fixes, Zen 5 optimizations in libm

In a May 2017 benchmark comparing AOCC v1.0 to Clang 4 and 5, and GCC 6 through 8, Phoronix found AOCC provided marginal improvement over Clang 4.0 in several benchmarks and no difference in others. Compilation time generally increased relative to Clang 4.0. Some benchmarks found some versions of GCC had better performance than some versions of Clang (AOCC included), and vice versa. In August 2019 Phoronix again benchmarked AOCC, now AOCC 2.0 against Clang 9 and GCC 9.1 and 10.0.

Along with the compiler, AMD offers the AMD Optimizing CPU Libraries (AOCL), a set of numerical libraries that is roughly similar to Intel's Math Kernel Library and includes AMD Math Library (LibM), AMD Random Number Generator Library, AMD Secure RNG Library, AOCL-Sparse, BLIS, FFTW, libFLAME, and ScaLAPACK that are tuned for the Zen processors.

AMD also offers AMD μProf, a performance analysis tool similar to Intel VTune.

See also Clang Intel C++ Compiler List of compilers

References

External links