Profmerge and Proforder Utilities

Profmerge Utility

Use the profmerge utility to merge the dynamic profile information (.dyn) files. The compiler executes profmerge automatically during the feedback compilation phase when you specify -prof-use (Linux*) or /Qprof-use (Windows*).

The command-line usage for profmerge is as follows

Syntax

profmerge [/nologo] [-prof_dir dir_name]

This merges all .dyn files in the current directory or the directory specified by -prof-dir (Linux) or /Qprof-dir (Windows), and produces the summary file pgopti.dpi.

Profmerge Options

The profmerge utility supports the following options:

Option

Description

-help

List  supported options.

-nologo

Disables version information.

-exclude_funcs functions

Excludes function from the profile. The list items must be separated by a comma (","); you can use a period (".") as a wild card character in function names.

-prof-dir dir

Specifies the directory from which to read .dyn and .dpi files

-prof_dpi file

Specifies the name of the .dpi file.

-prof-file file

Merges information from file matching: dpi_file_and_dyn_tag

-dump

Displays profile information.

-src_old dir -src_new dir

Change the directory path stored within the .dpi.

-a file1...fileN

Merges .dpi files.

Note

The profmerge tool merges all the .dyn files that exist in the given directory. Make sure unrelated .dyn files are not present; otherwise, profile information will be based on invalid profile data, which can negatively impact the performance of optimized code. The .dyn files can be merged to a .dpi file by the profmerge tool without recompiling the application.

Use -prof-file  (Linux) or /Qprof-file (Windows) to specify the name of the .dpi file.

Relocating source files using profmerge

The Intel® compiler uses the full path to the source file for each routine to look up the profile summary information associated with that routine. By default, this prevents you from:

To enable the movement of application sources, as well as the sharing of profile summary files, use profmerge -src_old -src_new. For example:

Example: sample syntax

profmerge -prof-dir <dir1> -src_old <dir2> -src_new <dir3>

where <dir1> is the full path to dynamic information file (.dpi), <dir2> is the old full path to source files, and <dir3> is the new full path to source files. The example command (above) reads the pgopti.dpi file, in the location specified in <dir1>. For each function represented in the pgopti.dpi file, whose source path begins with the <dir2> prefix, profmerge replaces that prefix with <dir3>. The pgopti.dpi file is updated with the new source path information.

You can run profmerge more than once on a given pgopti.dpi file. You may need to do this if the source files are located in multiple directories.  For example:

Platform

Command Examples

Linux

profmerge -prof-dir -src_old /src/prog_1 -src_new /src/prog_2

profmerge -prof-dir -src_old /proj_1 -src_new /proj_2

Windows

profmerge -src_old "c:/program files" -src_new "e:/program files"

profmerge -src_old c:/proj/application -src_new d:/app

In the values specified for -src_old (Linux) or /src_old (Windows) and -src_new (Linux) or /src_new (Windows), uppercase and lowercase characters are treated as identical.  Likewise, forward slash (/) and backward slash (\) characters are treated as identical.

Because the source relocation feature of profmerge modifies the pgopti.dpi file, you may wish to make a backup copy of the file prior to performing the source relocation.

proforder Utility

The proforder utility is used as part of the feedback compilation phase, to improve program performance. Use proforder to generate a function order list for use with the /ORDER linker option. The tools uses the following syntax:

Syntax

proforder [-prof_dir dir] [-o file]

where dir is the directory containing the profile files (.dpi and .spi), and file is the optional name of the function order list file. The default name is proford.txt. The commands are different than the compiler option: -prof-dir (Linux) or /Qprof_dir (Windows).

proforder Options

The proforder utility supports the following options:

Option

Description

-help

Lists supported options.

-nologo

Disables version information.

-omit_static

Instructs the tool to omit static functions from function ordering.

-prof_dir dir

Specifies the directory where the .spi and .dpi file reside.

-prof_file string

Selects the .dpi and .spi files that include the substring value in the file name matching the values passed as string.

-prof_dpi file

Specifies the name of the .dpi file.

-prof_spi file

Specifies the name of the .spi file.

-o file

Specifies an alternate name for the output file.