AMD AOCC 5.0 Compiler Released With Zen 5 Support, New Optimizations
([AMD] 5 Hours Ago
AMD AOCC 5.0)
- Reference: 0001497684
- News link: https://www.phoronix.com/news/AMD-AOCC-5.0-Compiler
- Source link:
With [1]5th Gen AMD EPYC "Turin" processors now launched, AMD provided a same-day release of their updated AMD Optimizing C/C++ Compiler "AOCC". This is AMD's downstream version of LLVM/Clang/Flang where they provide optimized AMD processor support with code that hasn't yet worked its way up into LLVM proper.
With the AOCC 5.0 release they now have their initial Zen 5 " [2]Znver5 " compiler support in place with -march=znver5 for catering to the AMD EPYC 9005 series processors as well as the Ryzen 9000 desktop hardware and Ryzen AI 300 series laptops. Besides adding Znver5, they have re-based their AOCC code against the LLVM Clang 17 state. Other AOCC 5.0 changes include:
- Based on LLVM 17.0.6 release (llvm.org, Nov 2023)
- Optimized support for AMD “Zen5” architecture
- Improved SLP and loop vectorization
- Improved LICM and loop optimizations
- Enhanced control/data flow optimizations
- Zen5 tuned AOCL-LibM 5.0 (AMD Math Library)
[3]LLVM 17 is a year old now with LLVM 19.1 having recently debuted. It's with LLVM 20 Git and then back-ported to LLVM 19 where [4]initial Znver5 support was merged upstream but it doesn't yet have all the tuning / cost table adjustments that for now is just carrying it over from Znver4.
Given AOCC 5.0 mentioning vectorization improvements and other optimizations, I'll be running some AOCC 5.0 compiler comparison benchmarks in the coming days on Phoronix.
AOCC 5.0 is distributed as binaries for Red Hat Enterprise Linux, Ubuntu / Debian, and SUSE SLES systems. Sadly no public open-source code for this compiler downstream from AMD to analyze their changes. As well, we still wish they would more actively (and punctually) push to get their AOCC optimizations upstream in LLVM. For those not minding a binary-only, EULA-protected vendor compiler you can find the new AOCC 5.0 compiler release at [5]AMD.com . Stay tuned for some AOCC 5.0 benchmarks up against GCC and LLVM/Clang upstream soon.
[1] https://www.phoronix.com/review/amd-epyc-9965-9755-benchmarks
[2] https://www.phoronix.com/search/Znver5
[3] https://www.phoronix.com/search/LLVM+17
[4] https://www.phoronix.com/news/AMD-Zen-5-LLVM-Enablement
[5] https://www.amd.com/en/developer/aocc.html
With the AOCC 5.0 release they now have their initial Zen 5 " [2]Znver5 " compiler support in place with -march=znver5 for catering to the AMD EPYC 9005 series processors as well as the Ryzen 9000 desktop hardware and Ryzen AI 300 series laptops. Besides adding Znver5, they have re-based their AOCC code against the LLVM Clang 17 state. Other AOCC 5.0 changes include:
- Based on LLVM 17.0.6 release (llvm.org, Nov 2023)
- Optimized support for AMD “Zen5” architecture
- Improved SLP and loop vectorization
- Improved LICM and loop optimizations
- Enhanced control/data flow optimizations
- Zen5 tuned AOCL-LibM 5.0 (AMD Math Library)
[3]LLVM 17 is a year old now with LLVM 19.1 having recently debuted. It's with LLVM 20 Git and then back-ported to LLVM 19 where [4]initial Znver5 support was merged upstream but it doesn't yet have all the tuning / cost table adjustments that for now is just carrying it over from Znver4.
Given AOCC 5.0 mentioning vectorization improvements and other optimizations, I'll be running some AOCC 5.0 compiler comparison benchmarks in the coming days on Phoronix.
AOCC 5.0 is distributed as binaries for Red Hat Enterprise Linux, Ubuntu / Debian, and SUSE SLES systems. Sadly no public open-source code for this compiler downstream from AMD to analyze their changes. As well, we still wish they would more actively (and punctually) push to get their AOCC optimizations upstream in LLVM. For those not minding a binary-only, EULA-protected vendor compiler you can find the new AOCC 5.0 compiler release at [5]AMD.com . Stay tuned for some AOCC 5.0 benchmarks up against GCC and LLVM/Clang upstream soon.
[1] https://www.phoronix.com/review/amd-epyc-9965-9755-benchmarks
[2] https://www.phoronix.com/search/Znver5
[3] https://www.phoronix.com/search/LLVM+17
[4] https://www.phoronix.com/news/AMD-Zen-5-LLVM-Enablement
[5] https://www.amd.com/en/developer/aocc.html
uid313