Announcement

Collapse
No announcement yet.

GCC vs. LLVM Clang vs. AOCC Compilers On AMD Threadripper

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

  • GCC vs. LLVM Clang vs. AOCC Compilers On AMD Threadripper

    Phoronix: GCC vs. LLVM Clang vs. AOCC Compilers On AMD Threadripper

    Given recent improvements to AMD Zen (znver1) with LLVM, the new AMD AOCC 1.2 compiler release, and GCC 8.1 having premiered just weeks ago, here is a fresh look at the performance of six different C/C++ code compilers when testing the performance of the resulting binaries on an AMD Threadripper 1950X system.

    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
    Possible typo:

    Originally posted by phoronix View Post
    to the CLang-based compilers.

    Comment


    • #3
      Just to clarify: are these optimizations supposed to improve the performance of the compilation process, or the performance of the compiled product? Because considering this is supposed to be an architecture-specific optimization, these results are overall very unimpressive. But, if the output performs better then I could see this being worth using.

      Comment


      • #4
        Compiled binary performance ("more is better" gives it away). Results look pretty homeopathic, compared to baseline clang. Or baseline clang inherited some AMD optimisations already?

        Comment


        • #5
          I too think that the results seem very unimpressive. It looks to me that the effort put into AOCC up until now would've been more useful placed elsewhere. GCC and Clang seem to be doing fine. If there is compiler dev FTE to spare, it should be put into mainline SPIR-V back-end for LLVM. That would have far greater use to AMD as well.

          Comment


          • #6
            Originally posted by tildearrow View Post
            Possible typo:
            Looks right to me, if a little old fashioned. Clang comes from C-Lang frontend.

            Comment


            • #7
              Originally posted by Meteorhead View Post
              I too think that the results seem very unimpressive. It looks to me that the effort put into AOCC up until now would've been more useful placed elsewhere. .
              AFAIK AMD's patches are going to be upstreamed to vanilla clang, however, for the time being, they're distributing pre-compiled binaries for faster distribution.



              Comment


              • #8
                What's wrong with clang in "Timed PHP Compilation v7.1.9" benchmark? Isn't clang supposed to compile things faster than gcc? Or is this test doing something else than compiling php?

                Comment


                • #9
                  gcc's scimark2 scores can be improved (~10-15%) with "-flto -funroll-loops". MonteCarlo score almost triples with lto, and the LU benchmark also improves by almost 10% with funroll-loops; clang has a better vectorizer as shown by the sparse matmult test (although it has regressed significatly since clang-4 there as well).

                  Comment


                  • #10
                    Originally posted by mlau View Post
                    gcc's scimark2 scores can be improved (~10-15%) with "-flto -funroll-loops". MonteCarlo score almost triples with lto, and the LU benchmark also improves by almost 10% with funroll-loops; clang has a better vectorizer as shown by the sparse matmult test (although it has regressed significatly since clang-4 there as well).
                    On my skylake notebook I get improvement for matmul when vectorizer is disabled (i.e. -fno-tree-vectorize).
                    Clang 5 does not vectorize the benchmark. So it is misbehaving heuristics perhaps hoping for matrix to be denser

                    Comment

                    Working...
                    X