AMD AOCC Compiler 1.1 Released For Zen CPUs
AOCC 1.1 is the second public release of the AMD Optimizing C/C++ Compiler designed for Ryzen/Threadripper/EPYC processors.
Back in May AMD released AOCC 1.0 as their optimized compiler stack for Ryzen CPUs. AOCC is the replacement to the company's older AMD Open64 compiler designed for older CPUs. With Open64 sadly being a relic now of the past, AOCC is based upon LLVM/Clang.
AOCC 1.1 was quietly released back in December to not much fanfare at all. I only heard of this new release over the weekend thanks to a Phoronix reader discovering the update.
AOCC 1.1 contains further tuning for Zen CPU cores, enhanced loop optimizations / inlining / other high-level optimizations, improved vectorization / code generation, and more. AOCC 1.0 is derived from the LLVM Clang 6.0 code-base released at the end of last year.
AOCC 1.1 also now ships optimized AMD libraries such as the libM Math Library, uses the LLVM "LLD" linker by default, and other improvements.
With AOCC 1.1 offering more changes compared to the AOCC 1.0 release, I plan on running some fresh EPYC/Ryzen compiler benchmarks this week. AOCC 1.0 didn't offer much at the time compared to LLVM/Clang trunk, but given more changes now, it will be interesting to see how the performance compares to Clang 6.0 and Clang 7.0 SVN.
The AOCC 1.1 binary for Linux x86_64 can be downloaded from developer.amd.com. Stay tuned for fresh benchmark results.
Back in May AMD released AOCC 1.0 as their optimized compiler stack for Ryzen CPUs. AOCC is the replacement to the company's older AMD Open64 compiler designed for older CPUs. With Open64 sadly being a relic now of the past, AOCC is based upon LLVM/Clang.
AOCC 1.1 was quietly released back in December to not much fanfare at all. I only heard of this new release over the weekend thanks to a Phoronix reader discovering the update.
AOCC 1.1 contains further tuning for Zen CPU cores, enhanced loop optimizations / inlining / other high-level optimizations, improved vectorization / code generation, and more. AOCC 1.0 is derived from the LLVM Clang 6.0 code-base released at the end of last year.
AOCC 1.1 also now ships optimized AMD libraries such as the libM Math Library, uses the LLVM "LLD" linker by default, and other improvements.
With AOCC 1.1 offering more changes compared to the AOCC 1.0 release, I plan on running some fresh EPYC/Ryzen compiler benchmarks this week. AOCC 1.0 didn't offer much at the time compared to LLVM/Clang trunk, but given more changes now, it will be interesting to see how the performance compares to Clang 6.0 and Clang 7.0 SVN.
The AOCC 1.1 binary for Linux x86_64 can be downloaded from developer.amd.com. Stay tuned for fresh benchmark results.
8 Comments