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...

    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
    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