Announcement

Collapse
No announcement yet.

AOCC 4.0 Shows The Strong Advantages Of Compiler Optimizations With 4th Gen AMD EPYC CPUs

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #11
    Originally posted by coder View Post
    Well, as far as GCC vs. LLVM, there are these benchmarks from 1 month ago:

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

    Interesting! In the old Zstd lvl 18 decompression benchmark AOCC was in lead, here gcc wins.

    When you compare the new benchmarks in which AOCC was in lead to the old benchmarks you quickly see that LLVM was faster than GCC there as well. Sometimes AOCC was faster than LLVM, sometimes not. Thus, AOCC's advantage in the new benchmarks can be attributed to both, using LLVM and optimizing for the target architecture.
    Last edited by oleid; 16 December 2022, 04:52 PM.

    Comment


    • #12
      Wow, this compiler looks great!
      Can the Linux kernel be compiled with it?
      If it can, I think a Xanmod version built with this compiler would be awesome!

      Comment


      • #13
        These results aren't all that surprising, and probably don't represent huge gains in tuning - the compiler flags list -march=native; which is fine if the compiler knows about that arch, but this version of GCC is too old for that - so we're comparing whatever fallback GCC decided to pick vs. actually configured settings in AOCC. Being a little more thoughtful about mtune and march in situations like this may well account for most of the difference, all without specific tuning. In particular, you'll want to enable AVX-512.

        As such, I'd expect future GCC/LLVM releases to get very close to these results once the obvious issues are worked out.

        Comment


        • #14
          Originally posted by emn13 View Post
          These results aren't all that surprising, and probably don't represent huge gains in tuning - the compiler flags list -march=native; which is fine if the compiler knows about that arch, but this version of GCC is too old for that - so we're comparing whatever fallback GCC decided to pick vs. actually configured settings in AOCC. Being a little more thoughtful about mtune and march in situations like this may well account for most of the difference, all without specific tuning. In particular, you'll want to enable AVX-512.

          As such, I'd expect future GCC/LLVM releases to get very close to these results once the obvious issues are worked out.
          Agreed, latest GCC should be far better. Also note that a trick that AOCC and ICC use is to enable far more optimizations by default. If your -O2 setting is similar to GCC's -Ofast setting then you make your compiler look better - it's not really faster, just more aggressive at the same optimization level.

          Comment


          • #15
            Originally posted by emn13 View Post
            These results aren't all that surprising, and probably don't represent huge gains in tuning - the compiler flags list -march=native; which is fine if the compiler knows about that arch, but this version of GCC is too old for that - so we're comparing whatever fallback GCC decided to pick vs. actually configured settings in AOCC. Being a little more thoughtful about mtune and march in situations like this may well account for most of the difference, all without specific tuning. In particular, you'll want to enable AVX-512.

            As such, I'd expect future GCC/LLVM releases to get very close to these results once the obvious issues are worked out.
            Yea, this is a significant problem with theses tests. As a minimum it should have been march=zen3 or whatever for gcc. Using it as native on an unsupported architecture is not very interesting….

            Comment

            Working...
            X