Intel® Advisor

Debugging Parallel Programs

Your program might have bugs that are now being exposed during parallel execution because of changes in order, memory allocation, uninitialized memory contents, and so on.

Such bugs are debugged in the same way as a serial (single-threaded) application, with the following challenges:

  1. The program does not run in exactly the same order each time. Possible causes include:

Site and Task Annotations for Simple Loops With One Task

Parallel site annotations mark the beginning and end of the parallel site. In contrast, to mark an entire simple loop body as a task, you only need a single iteration task annotation in the common case where the Survey tool identifies a single simple loop that consumes much of an application's time. In many cases, a single time-consuming simple loop structure may be the only task needed within a parallel site. This annotation form is also the easiest to convert to parallel code.

Using the Sample Programs

Intel® Advisor installs multiple sample programs that you can use as you learn. The default installation location on a Linux* OS system is:

  • /opt/intel/advisor_xe_2016/samples/en

Each directory contains subdirectories for each language, such as:

  • <advisor_install_dir>/C++ for C++ samples on a Linux OS

Suitability Analysis

The Intel® Advisor Suitability tool runs your annotated serial program's executable (target). It measures the target executable and uses your annotated parallel sites to predict (estimate) its approximate parallel performance characteristics.

Subscribe to Intel® Advisor