Intel® Compiler 18.0 provides a new feature "Hardware Based Profile Guided Optimization (PGO)".
This new feature can get benefits of Profile Guided Optimization (PGO) through the hardware-based event sampling data collected by Intel® VTune™ Amplifier (supporting Windows* and Linux*). Compared with traditional PGO it has no instrumentation caused overhead and no memory increase of application being profiled. This low overhead model is mainly targeted towards embedded or real time systems where overhead of traditional PGO prevents its use.
It is a three steps process to use hardware based PGO:
- Prepare for data collection by building the application with compiler option:
- Linux: -prof-gen-sampling
- Windows: /Qprof-gen-sampling
- Run the application by Intel® VTune™ Amplifier using typical input dataset:
- amplxe-pgo-report.sh <app> <options>
- Perform PGO optimization by re-building the application with compiler option
- Linux: -prof-use-sampling:<.pgo data files> or <.db file>
- Windows: /Qprof-use-sampling=<.pgo data files> or <.db file>
"