Intel® Advisor Help

Minimizing Data Collection, Result Size, and Execution Time (Memory Access Patterns)

For medium-large targets, several methods are available to minimize the amount of data collected and target execution time. Minimizing the data collected reduces the amount of data you need to examine in the Intel® Advisor Memory Access Patterns Report; it also reduces the size of the generated result. To minimize execution time with the Memory Access Patterns tool, consider reducing the data set processed by the application.

Selecting the Target Application Precisely

One way to reduce the amount of data collected is selecting the target application precisely. So, for example, if the target application is invoked as part of a shell script, you can hint the Advisor to work with a specific process instead of collecting data for the whole set of the invoked processes. Select the child application:

Reducing the Input Data Set

The Memory Access Patterns tool collects data as it executes the loops that are either marked for deeper analysis in Survey Report, or defined by annotations in the source code. The overhead of the Memory Access Patterns tool depends on a number of loops selected for analysis and a number of stride diagnostics detected during the analysis. To minimize increased program run times, choose input data sets that minimize the number of instructions executed within a parallel site while thoroughly exercising your program's control flow paths. For example, the same data sharing problem will be detected whether you execute a loop once or a million times - but executing a loop a million times takes much longer.

Using the Stop Button to Minimize Data Collection

Clicking the Stop button in the Check Memory Access Patterns group of the Advisor workflow tab stops data collection, finalizes and displays the partially collected data. You might click this button if you already see many types of problems reported during collection and do not wish to wait for additional analysis to occur.

In Advisor CLI, use the --stop command to interrupt the collection, retain and finalize the collected data to make it available via Memory Access Patterns report.

Using Pause Collection and Resume Collection Annotations to Minimize Data Collection

The Memory Access Patterns tool recognizes all annotations, including:

Place Pause Collection and Resume Collection annotations outside the parallel site code regions, which are defined by parallel site begin and parallel site end annotations.

See Also