AMD AOCC 2.2 Helping Squeeze Extra Performance Out Of AMD EPYC 7002 "Rome" CPUs

Written by Michael Larabel in Software on 28 August 2020 at 10:55 AM EDT. Page 3 of 4. 12 Comments.
AMD AOCC 2.2 vs. GCC 10 vs. Clang 10 - EPYC 7742 2P

In a few cases, the AOCC Zen 2 optimizations weren't paying off.

AMD AOCC 2.2 vs. GCC 10 vs. Clang 10 - EPYC 7742 2P
AMD AOCC 2.2 vs. GCC 10 vs. Clang 10 - EPYC 7742 2P
AMD AOCC 2.2 vs. GCC 10 vs. Clang 10 - EPYC 7742 2P
AMD AOCC 2.2 vs. GCC 10 vs. Clang 10 - EPYC 7742 2P
AMD AOCC 2.2 vs. GCC 10 vs. Clang 10 - EPYC 7742 2P
AMD AOCC 2.2 vs. GCC 10 vs. Clang 10 - EPYC 7742 2P
AMD AOCC 2.2 vs. GCC 10 vs. Clang 10 - EPYC 7742 2P

One software package where being built under AOCC 2.2 was repeatedly paying off was Intel's oneDNN (formerly known as MKL-DNN and DNNL). With this deep neural network library, the AOCC-generated binaries tended to be slightly faster than Clang 10. which in general for oneDNN were much faster than the GCC 10 binary.

AMD AOCC 2.2 vs. GCC 10 vs. Clang 10 - EPYC 7742 2P
AMD AOCC 2.2 vs. GCC 10 vs. Clang 10 - EPYC 7742 2P
AMD AOCC 2.2 vs. GCC 10 vs. Clang 10 - EPYC 7742 2P

When building Intel's SVT-VP9 video encoder with AOCC 2.2 was another case where the AMD EPYC 7742 2P server was enjoying better performance over Clang or GCC.


Related Articles