Announcement

Collapse
No announcement yet.

Benchmarking LLVM/Clang's New AMD Zen Scheduler Model

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

  • Benchmarking LLVM/Clang's New AMD Zen Scheduler Model

    Phoronix: Benchmarking LLVM/Clang's New AMD Zen Scheduler Model

    Just prior to LLVM 5.0 being branched yesterday, the AMD Zen scheduler model finally landed in LLVM and has the potential of boosting the performance of generated binaries targeting AMD's Zen "znver1" architecture. Here are some benchmarks of LLVM Clang 4.0 compared to the latest LLVM Clang compiler code when testing with both generic x86-64 optimizations and then optimized builds for the first-generation Zen CPUs, tested on a Ryzen 7 processor.

    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

  • #2
    Hi Michael, thanks for the review.

    It looks like most of the changes come from the major version bump from CLANG 4 --> CLANG 5 with some minor variations using the Zen-specific optimizations.

    Quick request if you get the time: Try some of these tests using the Haswell optimization profile on RyZen to see if it has a positive/negative/neutral effect compared to the Zen-specific optimizations.

    Comment


    • #3
      With optimization differences that minimal, I think I'd rather take the easy way out and not bother using znver1.

      Comment


      • #4


        Well, it's called "initial". I would wait for further enhancements to land first (if there will be any).

        Comment


        • #5
          wow, clang was already pretty good at getting good speed on zen, this means AMD did a good job with their engineering!

          Comment


          • #6
            That's odd. Since you were using basic -march=x86-64 to compare against. Then not only the march=znver1 have the tuning, it should also benefit from SSE3, SSSE3, SSE4.1, SSE4.2, AVX and AVX2, even if the latter two are not at full bandwidth.

            Comment


            • #7
              Quite possible that some of those numerical benchmarks were already using sseX explicitly if available.

              Comment


              • #8
                Sorry to nitpick, but instead of the term "DISK", could you use "FIXED STORAGE"? As disk refers to storage on a rotating surface (presumably magnetic), which is possibly outdated now that we have SSDs.

                Comment

                Working...
                X