AMD has optimized the AOCC compiler in its version v4.0 to offer higher performance in its CPUs based on the Zen 4 microarchitecture, both Ryzen and EPYC. In this way, the C/C++ code compiled using this compiler will be able to extract more performance thanks to this improvement. Precisely Phoronix has tested testing these processors with LLVM/Clang and AOCC 4.0 to know the results, and the truth is that they are surprising.
The results of the benchmarks are really enlightening, being able to see the results of this optimization for Zen 4 and better support for this microarchitecture in AOCC 4.0. Remember that AOCC is not open source, but is a derivative of the AMD-only LLVM/Clang compiler.
Michael Larabel of portal Phoronix compared the two compilers with an AMD Ryzen 9 7950X processor to determine the performance differences between the two. The board used for the test is an ASUS ROG Crosshair X670E Hero with 32GB of RAM installed. The Ubuntu 22.10 operating system was used as the environment.
In the tests, Larabel notes that there was minimal performance improvement. Only in some tests was there a significant gain in benchmarks. In addition, by AMD’s own words, which Larabel also cites, optimizations are expected for other compilers, such as GNU GCC, the most widely used compiler in Linux environments and the one used for the Linux kernel.
…additional GCC 13 optimization proposals are being carried out for the Zen4 architecture, as is our usual practice for each Zen generation.
The AOCC 4.0 highlights tested are:
- LeelaChessZero 0.28 (BLAS and Eigen backends)
- Xmrig 6.18.1
- Zstd Compression 1.5.0 (compression and decompression)
- WebP Image Encode 1.2.4 (high compression, standard, and lossless mode)
- GraphicsMagick 1.3.38 (sharpened and enhanced)
- Kvazaar 2.1 (4K resolution with “very fast” and “ultra-fast” presets)
- SVT-AV1 1.2 (4K resolution)
- SVT-HEVC 1.5.0 (4K resolution)
- x265 3.4 (4K resolution)
- libavif avifenc 0.11
- Liquid-DSP 2021.01.31 (16 and 32 threads)
- ASTC Encoder 4.0 (medium and high performance)
Lastly, also note that it still lacks maturation. In fact, AMD has been surprised by delaying the release of AOCC 4.0 until after having launched the new EPYC processors, as new improvements are expected that will also have to evaluate against LLVM/Clang to see if they have been able to extract some more performance.In short, the struggle of optimizations between Intel and AMD does not cease, as it is logical, since optimizing compilers can get better results in terms of performance and efficiency for their designs.