Announcement

Collapse
No announcement yet.

Mesa Developers Discuss LTO'ing + PGO'ing Builds For Greater Performance

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

  • Mesa Developers Discuss LTO'ing + PGO'ing Builds For Greater Performance

    Phoronix: Mesa Developers Discuss LTO'ing + PGO'ing Builds For Greater Performance

    Making use of Link-Time Optimizations (LTO) and Profile Guided Optimizations (PGO) is currently being talked about by Mesa developers for their release builds in potentially squeezing out better performance...

    http://www.phoronix.com/scan.php?pag...PGO-LTO-Builds

  • #2
    Mesa in my PPA is already built with LTO. Would be nice to find an easy and reproducible way to also enable PGO!

    Comment


    • #3
      I am all in for squeezing every possible performance out of all parts of the software stack. But seriously, the numbers provided by Dieter seem very convincing to be worth the effort.

      Comment


      • #4
        I've been doing it for years under Gentoo ( LTO+PGO ) by hand, would be nice to have it fully automated from upstream like in Firefox

        Comment


        • #5
          As pointed out in the thread on mesa-dev, a wide collection of representative profiles would be great to have, and it should be automated. As the Phoronix Test Suite does automated testing, could it be possible to generate these profiles from automated benchmark runs and integrate it into the build process for release builds?!

          Comment


          • #6
            This is a great idea. They should really begin doing this. 16%-20% faster execution in OpenGL is no joke. It is the equivalent of a small hardware upgrade. Now that MESA is supporting the major APIs completely up to the latest versions, i think they can focus on optimizations like these for the future.

            Comment


            • #7
              Originally posted by oibaf View Post
              Mesa in my PPA is already built with LTO. Would be nice to find an easy and reproducible way to also enable PGO!
              Is there a possibility to find your buildflags? I want to play aroud with it on ClearLinux .

              p.s. nuetzel is that you?
              Last edited by CochainComplex; 02-13-2020, 08:17 AM.

              Comment


              • #8
                Originally posted by CochainComplex View Post

                Is there a possibility to find your buildflags? I want to play aroud with it on ClearLinux .
                Just adding -flto to default flags, for full output see https://launchpadlibrarian.net/46476...UILDING.txt.gz

                Comment


                • #9
                  Originally posted by oibaf View Post

                  Just adding -flto to default flags, for full output see https://launchpadlibrarian.net/46476...UILDING.txt.gz
                  Thank you - this is what I wanted. My goal is to compare ClearLinux with your flags vs. Pop_OS with your ppa.
                  ...so now I need some spare time.

                  btw clear linux uses autospec you can switch on pgo and lto in the conf file... but at the end it is like writing a compilation script(PGO)... gen -> test->clean->use->install

                  since you are already here: do you see big differences on your system by building it with march=native on top of your already very nice builds?
                  Last edited by CochainComplex; 02-13-2020, 09:07 AM. Reason: typo

                  Comment


                  • #10
                    Originally posted by CochainComplex View Post

                    Thank you - this is what I wanted. My goal is to compare ClearLinux with your flags vs. Pop_OS with your ppa.
                    ...so now I need some spare time.

                    btw clear linux uses autospec you can switch on pgo and lto in the conf file... but at the end it is like writing a compilation script(PGO)... gen -> test->clean->use->install

                    since you are already here: do you see big differences on your system by building it with march=native on top of you already very nice builds?
                    I never tried it. The PPA should be able to be used by everyone, march=native is useful only for build being used on your own system.

                    Comment

                    Working...
                    X