Announcement

Collapse
No announcement yet.

AutoFDO Optimizations For The GCC Compiler

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

  • AutoFDO Optimizations For The GCC Compiler

    Phoronix: AutoFDO Optimizations For The GCC Compiler

    A patch has emerged that provides "AutoFDO" support for the GCC compiler for automated feedback-directed optimizations...

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

  • #2
    What exactly is the difference between PGO (profile guided optimization) and FDO?

    Comment


    • #3
      Originally posted by WorBlux View Post
      What exactly is the difference between PGO (profile guided optimization) and FDO?
      The name, some compilers refer to it as profile-guided-optimization, others call it feedback-driven-optimization, the technique is the same.

      One thing Micheal wrote was '-So this implementation is also faster than the traditional Feedback Directed Optimization (FDO) support currently found in GCC', now from the author's mail: -'This can bring 50% to 110% of the speedup derived by traditional instrumentation based FDO. (Average is between 70% to 80% for many CPU intensive applications).'

      I grok this as it generally gives 70-80% of the performance normal FDO (PGO) gives and ranges from faster (110%) or slower (%50), so saying it is faster than traditional PGO is a bit optimistic as it seems to general case is 70-80% of the speed traditional PGO gives.

      That said, it would be great to have a automated way to use PGO and thus avoid the hassle of either manual profile-gathering or writing an application-specific automation in order to utilize this optimization. Here's hoping it makes it into trunk, certainly interested in trying this.

      Comment


      • #4
        The way I read it, this still requires the representative runtime to be actually useful.

        So it's merely a question of setting up perf infrastructure vs building a PGO-instrumented binary. Given I don't have the perf things set up, I would rate the PGO approach as easier

        Comment

        Working...
        X