Announcement

Collapse
No announcement yet.

AMD AOCC 1.1 Shows Compiler Improvements vs. GCC vs. Clang

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

  • AMD AOCC 1.1 Shows Compiler Improvements vs. GCC vs. Clang

    Phoronix: AMD AOCC 1.1 Shows Compiler Improvements vs. GCC vs. Clang

    A few days ago we found out that at the end of 2017 AMD quietly released their AOCC 1.1 C/C++ compiler. AOCC is AMD's compiler succeeding AMD Open64 that existed years ago as their optimized Fortran/C/C++ compiler for past CPU microarchitectures while the "AMD Optimizing C/C++ Compiler" is designed for current-generation Zen processors. Here are benchmarks of the new AMD AOCC 1.1 release compared to GCC 7, GCC 8, Clang 5.0, Clang 6.0, and Clang 7.0 SVN.

    http://www.phoronix.com/vr.php?view=25972

  • #2
    Well, it's a shame they only released binary's. For me personally compile time doesn't really matter, but I don't have to constantly rebuild things either, so I'd still say GCC looks better.
    Last edited by duby229; 01-30-2018, 04:16 PM.

    Comment


    • #3
      One thing i'm missing in this benchmark: AOCC 1.0 so we can directly compare improvements in latest version

      Comment


      • #4
        AOCC > LLVM, it`s great.

        But why LLVM 7.0 < LLVM 5.0 ???

        Comment


        • #5
          From their site: https://developer.amd.com/amd-aocc

          • Further tuning for AMD Family 17h processors (“Zen” core)
          • Extends LLVM 6.0 trunk (llvm.org, 30th Nov) with enhancements and optimizations
          • Enhanced loop optimizations, function inlining and other high level optimizations
          • Optimized libraries including AMDLibM (libM math library v3.2.1)
          • Enhanced vectorization, code generation and more
          • LLVM linker (lld) by default (Gold linker no longer required)
          • Continued support for DragonEgg Fortran frontend
          • Tested on RHEL 7.4, SLES 12 SP3, Ubuntu 16.04 LTS

          I wonder how much of that they port back into LLVM/Clang?
          They really need an open github branch of this thing. Its not like they are breaking new ground or anything.
          Would anyone actually run this for production binaries? Seems highly unlikely.

          Comment


          • #6
            Was this testing COMPILATION TIMES, or EXECUTION TIMES of the compiled executable?

            Can AOCC compile a kernel? Any practical day-to-day use (not intense compilation) on a Linux Slackware system with a Ryzen 1700 chip?

            Comment


            • #7
              Originally posted by vw_fan17 View Post
              Was this testing COMPILATION TIMES, or EXECUTION TIMES of the compiled executable?

              Can AOCC compile a kernel? Any practical day-to-day use (not intense compilation) on a Linux Slackware system with a Ryzen 1700 chip?
              There's a little itty label on the top of each graph that says what it does. Some are compile times, the label says "Time to compile", the ones where LLVM and AOCC are clearly faster are those. The rest are runtime of compiled binaries.
              Last edited by duby229; 01-30-2018, 07:23 PM.

              Comment


              • #8
                Originally posted by bpetty View Post
                I wonder how much of that they port back into LLVM/Clang?
                IIRC it was mentioned at some point that the entire point of AOCC was to develop stuff locally that would eventually be upstreamed to LLVM. And that's not bad, although doing it in a more community-oriented way certainly wouldn't hurt either.

                Comment


                • #9
                  Originally posted by duby229 View Post

                  There's a little itty label on the top of each graph that says what it does. Some are compile times, the label says "Time to compile", the ones where LLVM and AOCC are clearly faster are those. The rest are runtime of compiled binaries.
                  Thanks - yeah, I see it kind of now. I think a section heading for "COMPILATION BENCHMARKS" and "EXECUTION BENCHMARKS" would be helpful.

                  Comment


                  • #10
                    Technical computing folks want to see stream results from AOCC compared to gcc. It is known that icc produces stream binaries that produce higher numbers because it supports "-opt-streaming-stores always" and gcc does not. How does AOCC behave here?

                    Comment

                    Working...
                    X