# Profile Guided Optimization dialog box

This topic has information on the following dialog boxes:

- Profile Guided Optimization (PGO) dialog box
- Application Invocations dialog box
- Edit Command dialog box
- Command dialog box

## Profile Guided Optimization dialog box

To access the Profile Guided Optimization dialog box, choose Tools > Intel Compiler > Profile Guided Optimization.

Use the Profile Guided Optimization dialog box to set the options for profile guided optimization.

Phase 1 - Instrument: This phase produces an instrumented object file for the profile guided optimization. The command line compiler option for each optimization instrument you choose appears in Compiler Options.

- Enable Function Ordering in the optimized application: Select this checkbox to enable ordering of static and extern routines using profile information. This optimization specifies the order in which the linker should link the functions of your application. This optimization can improve your application performance by improving code locality and by reducing paging.
- Enable Static Data Layout in the optimized application: Select this checkbox to enable ordering of static global data items based on profiling information. This optimization specifies the order in which the linker should link global data of your program. This optimization can improve application performance by improving the locality of static global data, reduce paging of large data sets, and improve data cache use.
- Instrument with guards for threaded application: Select this checkbox to produce an instrumented object file that includes the collection of PGO data on applications that use a high level of parallelism.

Selecting an option produces a static profile information file (.spi), but also increases the time needed to do a parallel build.

Deselect the checkbox to skip this phase to save time running profile guided optimization. When you skip this phase, you use the existing profile information when running profile guided optimization. For example, you may want to skip this phase when you change the code to fix a bug and the fix doesn't affect the architecture of the project.

Phase 2 - Run Instrumented Application(s): This phase runs the instrumented application produced in the previous phase as well as other applications in the Applications Invocations dialog box. To add a new application or edit an existing application in the list, click Applications Invocations.

Deselect the checkbox to skip this phase to save time running profile guided optimization. When you skip this phase, you do not run the applications in the list when running profile guided optimization. For example, you might want to skip this phase when you change the code to fix a bug and the fix doesn't affect the architecture of the project.

Phase 3 - Optimize with Profile Data: This phase performs the profile guided optimization.

Deselect the checkbox to skip this phase.

Profile Directory: The directory that contains the profile. Click Edit to edit the profile directory or the Browse button to browse for the profile directory.

Show this dialog next time: Deselect this checkbox to run profile guided optimization without displaying this dialog box. The profile guided optimization will use these settings.

Save Settings: Click to save your settings.

Run: Click to start the profile guided optimization.

Cancel: Click to close this dialog box without starting the profile guided optimization.

## Application Invocations dialog box

To access the Application Invocations dialog box, click Application Invocations... in the Profile Guided Optimization dialog box. Use the Profile Guided Optimization dialog box to configure the application options for your application as well add additional applications when you run profile guided optimization.

The list of applications comes from the debug settings of the Startup Project.

Merge Environment: Select this checkbox to merge the application environment with the environment defined by the operating system.

To add, edit, or remove an application, click one of the buttons.

Add: Click to add a new application in the Edit Command dialog box.

Duplicate: Click after selecting an application to copy its settings so that you can use a different setting.

Edit: Click after selecting an application to change its settings in the Edit Command dialog box.

Delete: Click to remove the selected application from the list.

OK: Click to save the settings and close this dialog box.

Cancel: Click to discard the settings and close this dialog box.

## Edit Command dialog box

To access the Edit Command dialog box, click Add or Edit in the Application Invocations dialog box. Use the Edit Command dialog box to add a new or edit an existing application in the Application Invocations dialog box.

Command: Add a new or edit an existing application. Click Edit to open the Command dialog box with a list of macros. Click Browse to navigate to another directory that contains the application.

Command Arguments: Enter the arguments required by the application.

Working Directory: Enter a new or edit the working directory for the application. Click Edit to open the Command dialog box with a list of macros. Click Browse to navigate to working directory of the application.

Environment: Enter the environment variable required by this application.

Merge Environment: Select this checkbox to merge the application environment with the environment defined by the operating system.

Load from Debugging Settings: Click to load the debug settings for this application.

OK: Click to save the settings and close this dialog box.

Cancel: Click to discard the settings and close this dialog box.

## Command dialog box

To access the Command dialog box, click Edit in the Edit Command dialog box. Use the Command dialog box to specify or change the macro used in the application to run as part of the profile guided optimization.

Select a macro from the list and then click one of the buttons.

Macro: Click to show or close the list of available macros.

Insert: Click to use the selected macro.

OK: Click to save the settings and close this dialog box.

Cancel: Click to discard the settings and close this dialog box.

Parent topic: Dialog Box Help

## See Also

Profile-Guided Optimization
Using Profile Guided Optimization in Microsoft Visual Studio*
Options: Profile Guided Optimization
Using Function Order Lists, Function Grouping, Function Ordering, and Data Ordering Optimizations