Announcement

Collapse
No announcement yet.

Amazon Graviton3 Compiler Tuning Benchmarks For The Arm Neoverse-V1 Cores

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

  • Amazon Graviton3 Compiler Tuning Benchmarks For The Arm Neoverse-V1 Cores

    Phoronix: Amazon Graviton3 Compiler Tuning Benchmarks For The Arm Neoverse-V1 Cores

    Stemming from my recent AWS Graviton3 benchmarks and looking at Graviton3 against Intel Xeon and AMD EPYC, a number of Phoronix readers expressed interest in seeing some compiler tuning benchmarks for the Graviton3 around its Arm Neoverse-V1 cores with SVE support. Here are some benchmarks for those interested in the compiler tuning impact for this new high performance Arm cloud 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
    Could this be that the GCC 12's auto vectorization pass for SVE still isn't good enough?

    I heard that auto vectorization in compiler has long been a hard problem and manual vectorization often gives much better result.

    Comment


    • #3
      I also would have thought that SVE/SVE2 would bring more benefits, also the regressions seem odd. It seems Arm engineers still have some work to do...

      Comment


      • #4
        Originally posted by NobodyXu View Post
        Could this be that the GCC 12's auto vectorization pass for SVE still isn't good enough?

        I heard that auto vectorization in compiler has long been a hard problem and manual vectorization often gives much better result.
        I can't find the discussion now, but awhile ago I read that some of Rust's guarantee's should theoretically allow for more autovectorization, but llvm currently doesn't take advantage of it.

        I believe this was the group: https://github.com/rust-lang/project-portable-simd

        Comment


        • #5
          Originally posted by brucethemoose View Post

          I can't find the discussion now, but awhile ago I read that some of Rust's guarantee's should theoretically allow for more autovectorization, but llvm currently doesn't take advantage of it.

          I believe this was the group: https://github.com/rust-lang/project-portable-simd
          Thanks for the link!
          I will have a look later.

          Comment


          • #6
            Michael, how do you test the different flags in PTS? Do you set the CFLAGS/CXXFLAGS environment variable, or...?

            Comment


            • #7
              Originally posted by trifud View Post
              Michael, how do you test the different flags in PTS? Do you set the CFLAGS/CXXFLAGS environment variable, or...?
              Yes setting the CFLAGS/CXXFLAGS.
              Michael Larabel
              https://www.michaellarabel.com/

              Comment


              • #8
                Originally posted by ms178 View Post
                I also would have thought that SVE/SVE2 would bring more benefits,
                FWIW, this has only SVE1. The V1 is a Cortex-X1 -derived core that's still ARMv8-A. SVE2 wasn't added until ARMv9-A.

                Originally posted by ms178 View Post
                also the regressions seem odd. It seems Arm engineers still have some work to do...
                Oh, for sure. Something seems very wrong, here.

                Hopefully, our PerformanceExpert is on the case!

                Comment

                Working...
                X