default. The name is generated as flow.<suffix> if there is already a flow.datafile present in the current directory. Finally, recompile with the +Oprofile=use option (passing it the appropriate filename if necessary) to perform profile-based optimization.

Example:

aCC +Oprofile=collect -O -o prog.pbo prog.C

The above command compiles prog.C with optimization, prepares the object code for data collection, and creates the executable file prog.pbo. Running prog.pbo collects runtime information in the file flow.data in preparation for optimization with +Oprofile=use.

+Oprofile=collect [:<qualifiers>]

<qualifiers> are a comma-separated list of profile collection qualifiers.

Supported profile collection qualifiers:

arc

Enables collection of arc counts.

dcache

Enables collection of data cache misses.

stride

Enables collection of stride data.

loopiter

Enables collection of loop iteration counts..

all

Enables collection of all types of profile data. This is equivalent to

 

+Oprofile=collect:arc,dcache,stride,loopiter. This is the default.

This option merely enables the application for collection of the various forms of profiling data.

The environment variable PBO_DATA_TYPE controls the type of data collected at runtime. It may be set to one of the following values, which must be consistent with the +Oprofile=collect qualifiers used to create the application:

arc-strideCollects stride and/or arc counts. This is the default if PBO_DATA_TYPE is not set.

dcache

Collects data cache miss metrics.

NOTE: Data cache miss metrics cannot be collected during the same run of an application as stride and/or arc data.

Information Embedding Options

The +annotate option annotates the compiled binary with extra information.

-annotate=structs

The+annotate option annotates the compiled binary with accesses to C/C++ struct fields for use by other external tools such as Caliper. By default, no annotations are added.

Displaying Optimization Information

The +O[no]info option displays informational messages about the optimization process.

+O[no]info

+O[no]info

The +O[no]info option displays messages about the optimization process. This option may be helpful in understanding what optimizations are occurring. You can use the option at levels 0-4.

The default is +Onoinfo at levels 0-4.

Parallel Processing Options

HP aC++ provides the following optimization options for parallel code.

Parallel Processing Options

65