Intel® VTune™ Amplifier provides an option to generate a Profile-Guided Optimization (PGO) report for Intel® Compiler (Linux* only), Clang* compiler, and GCC* compiler. Using this information the compilers can provide a better performance optimization when compiling your code.


This is a PREVIEW FEATURE. A preview feature may or may not appear in a future production release. It is available for your use in the hopes that you will provide feedback on its usefulness and help determine its future. Data collected with a preview feature is not guaranteed to be backward compatible with future releases. Please send your feedback to or to

To generate a PGO report, use the utility located, by default, in the <install-dir>/bin64.

Generating a PGO Report

Use the following amplxe-pgo-report syntax to generate a report:

$ [options] -- app arg1 arg2...

where [options] are the following:



-r | --result <name>

Specify a result directory and PGO report name template. Default template is r@@@pgo.

-c | --compiler <compiler>

Specify a compiler for PGO output format. Supported values are the following:

  • icc for Intel® C/C++ and Intel Fortran compilers version 2018 beta and higher

  • clang for Clang* compiler version 3.8 and higher

  • clang-old for Clang* compiler versions 3.5-3.7

Default value is icc.

-h | --help

Show help.


$ -r r@@@pgo -c icc -- /home/sample/myapp

This command line generates a PGO report based on the hardware event-based sampling analysis for the Intel® C++ compiler (icc). When the report is generated, the VTune Amplifier provides a message specifying the output file name and location on your system, for example: PGO report file was created: /home/foo/r000pgo_icc.pgo.

Using the PGO Report with Your Compiler

Use the *.pgo file generated by the VTune Amplifier for the profile-guided optimization with your compiler by adding the following options during compilation:

  • -prof-use-sampling=<pgo-file> for the icc compiler

  • -fprofile-sample-use=<pgo-file> for the clang compiler

  • -fauto-profile=<pgo-file> for the gcc compiler

For more details on the PGO support from the compiler side, explore the compiler documentation:


  • Generating a PGO report for remote Linux applications is not supported.

  • Generating a PGO report is supported for the Launch Application mode. Profile System and Attach to Process modes are not supported.

Orange (only for download buttons)