AMD AOCC 3.0 Is Here To Help Squeeze A Bit Extra Performance Out Of Zen 3

Written by Michael Larabel in Software on 18 March 2021. Page 3 of 3. Add A Comment
Benchmark Result
Benchmark Result
Benchmark Result
Benchmark Result

For most of the benchmarks, the AOCC 3.0 compiler yielded just slightly faster performance or in some cases no statistically significant difference.

Benchmark Result
Benchmark Result
Benchmark Result
Benchmark Result

In a few cases like the JPEG XL image encoder, the AOCC 3.0 compiler caused some regressions over v2.3.

Benchmark Result

Dav1d - the leading AV1 video decoder - was another example of where AOCC 3.0 seemed to lead to a slightly lower performing binary.

Benchmark Result

Compile times didn't appear to be all that different from AOCC 2.3 to 3.0.

Benchmark Result
Benchmark Result

The Microsoft ONNX Runtime benchmark results were mixed.

Out of several dozen initial tests carried out, those were the ones worth mentioning in either direction when it comes to AOCC 3.0 performance.

For our initial AOCC 3.0 benchmarking it went fairly well. AOCC 3.0 didn't provide across the board performance gains but for the most part was either similar to AOCC 2.3 or in various cases small to significant performance improvements. Only in a few cases like dav1d and JPEG XL did there appear to be slower performance on this Ryzen 9 5950X test system. Of the workloads tested, software like the Etcpak ETC texture compressor, Liquid-DSP SDR library, and a few other instances was where most of the performance improvements were exhibited out of the few dozen tests carried out for this initial benchmarking. As is usually the case when it comes to compiler performance/performance, it really depends upon your particular workload(s) of interest whether it pays off using a given compiler for performance as well as offered features. The scope of tests though was limited considering it was a Ryzen 9 5950X in use while once having free time on Daytona will be able to provide a much larger spectrum of tests on the very speedy EPYC 7003 Milan processors.

Coming up and looking at the performance against GCC and LLVM Clang upstream should be interesting especially with the last minute Znver3 work for GCC 11. It's too bad though that the Zen 3 compiler tuning didn't come a while ago so it would already be in released stable compilers to enjoy widespread support at launch, especially with Ryzen 5000 series desktop processors already having been available for months.

If you enjoyed this article consider joining Phoronix Premium to view this site ad-free, multi-page articles on a single page, and other benefits. PayPal or Stripe tips are also graciously accepted. Thanks for your support.


Related Articles
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.