Announcement

Collapse
No announcement yet.

SUSE Developer Working On AMD Zen Tuning For GCC

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

  • SUSE Developer Working On AMD Zen Tuning For GCC

    Phoronix: SUSE Developer Working On AMD Zen Tuning For GCC

    Veteran GCC contributor and SUSE developer Jan Hubicka has begun working on some Zen tuning within the GNU Compiler Collection for benefiting the Ryzen / Threadripper / Epyc processors...

    http://www.phoronix.com/scan.php?pag...Zen-GCC-Tuning

  • #2
    Great News for AMD! Competition is good for us all!

    Comment


    • #3
      Great! I've noticed that a lot of people have been using znver1 even though there hadn't been any reports of it improving and the bug report behind it was still open. I've been using -march=bdver4 -mno-fma4 -mno-tbm -mno-xop -mno-lwp but hopefully not for much longer.

      Comment


      • #4
        Ported the patches to gcc-7.2, scimark2 results across the board area actually 1-2% worse. -march=znver1 -mtune=broadwell still produces best results overall (especially for the Sparse Matmult and LU Factorization tests).
        I guess these patches depend on improvements made to gcc-8.
        Last edited by mlau; 10-05-2017, 04:02 PM.

        Comment


        • #5
          What about GCN backend for GCC, Is it finished or canceled?
          An Early Port Of GCC To AMD's GCN Architecture
          https://www.phoronix.com/scan.php?pa...-AMD-GCN-Early on 22 September 2016

          SUSE Developers Publish Radeon GCN Backend Code For GCC Compiler
          on 16 March 2017

          This GCN back-end for GCC is primarily focused on compute capabilities rather than compiling graphics shaders.

          Martin Jambor and Jan Hubicka are among the developers working on the GCN back-end for GCC that's now been made public.

          Hopefully we'll see the code mature to the point where it will be found in next year's GCC 8 release.
          https://www.phoronix.com/scan.php?pa...For-GCC-Branch

          Comment


          • #6
            Originally posted by Peter Fodrek View Post
            What about GCN backend for GCC, Is it finished or canceled?
            An Early Port Of GCC To AMD's GCN Architecture
            https://www.phoronix.com/scan.php?pa...-AMD-GCN-Early on 22 September 2016

            SUSE Developers Publish Radeon GCN Backend Code For GCC Compiler
            on 16 March 2017

            This GCN back-end for GCC is primarily focused on compute capabilities rather than compiling graphics shaders.

            Martin Jambor and Jan Hubicka are among the developers working on the GCN back-end for GCC that's now been made public.

            Hopefully we'll see the code mature to the point where it will be found in next year's GCC 8 release.
            https://www.phoronix.com/scan.php?pa...For-GCC-Branch
            GCN backend is not cancelled. Mentor graphics made quite some progress on it, but patches are not available yet.

            Comment


            • #7
              Originally posted by mlau View Post
              Ported the patches to gcc-7.2, scimark2 results across the board area actually 1-2% worse. -march=znver1 -mtune=broadwell still produces best results overall (especially for the Sparse Matmult and LU Factorization tests).
              I guess these patches depend on improvements made to gcc-8.
              I did not test the branch cost change in GCC 7 but actually I would exect it to work there as well. I will check. The benchmark generate random number and produce conditional move on it. Having branch cost of 2 makes GCC to not do if conversion which of course is expensive because the branch is regularly mispredicted.
              There are number of additional patches to push out, but I would say that znver1 tuning for GCC 7 is already not too bad - it does all the basic setup for costs and scheduler model. I am cleaning it up and fixing various issues.

              Comment


              • #8
                Originally posted by hubicka View Post

                I did not test the branch cost change in GCC 7 but actually I would exect it to work there as well. I will check. The benchmark generate random number and produce conditional move on it. Having branch cost of 2 makes GCC to not do if conversion which of course is expensive because the branch is regularly mispredicted.
                There are number of additional patches to push out, but I would say that znver1 tuning for GCC 7 is already not too bad - it does all the basic setup for costs and scheduler model. I am cleaning it up and fixing various issues.
                Looking forward to your next round of patches, thank you!

                Comment

                Working...
                X