Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Where to find information about "Profile Guided Optimization (PGO) - Under the Hood"?

Kai_H_2
Beginner
327 Views

Hi all,

here is a brief description of PGO (C++ Compiler) from the Intel Website (Link: https://software.intel.com/en-us/code-samples/intel-compiler/intel-compiler-features/ProfileGuidedOptimization):

"... Profile-guided Optimization (PGO) improves application performance by re-ordering code layout to reduce instruction-cache problems, shrinking code size, and reducing branch mispredictions. PGO provides information to the compiler about areas of an application that are most frequently executed so the compiler is able to be more selective and specific in optimizing the application."

This is information is formulated vaguely.

Open questions are for example:

  Which areas of the application are most frequently executed?

  What exactly means "more selective and specific in optimizing"?

 

To really understand what is happening here, we should have more information available. Especially, if the "training set" for PGO is not representative for the real application running afterwards.

Is there detailed information about PGO available to answer such questions?

Many thanks in advance.

Best Regards,

Kai
 

0 Kudos
1 Reply
Igor_V_Intel
Employee
327 Views

You may find more info on PGO here: https://software.intel.com/en-us/fortran-compiler-developer-guide-and-reference-profile-guided-optimization-pgo

If the "training set" for PGO is not representative for the real application then you will not benefit from this optimization.

0 Kudos
Reply