LC Hotline: 2-4531

From offsite: (925) 422-4531

 

Hours

Monday–Friday
8am–12pm, 1–4:45pm
B453 R1103 | Q-clearance area

 

Intel Advisor

Intel Advisor is a prototyping tool that allows users to analyze their code and determine the costs and benefits of adding various threading models. It works on code written in C, C++, and Fortran, and can model parallelism using OpenMP, Intel Thread Building Blocks, and Intel Cilk Plus. Advisor can also provide guidance to help codes get better vectorization, which is becoming increasingly important with wide vector units in modern processors.

Platforms and Locations

Platform Location Notes
x86_64 CHAOS 5 /usr/local/tools/advisor*

Multiple versions are available. Use Dotkit to load.

x86_64 TOSS 3 /usr/tce/packages/advisor* Multiple versions are available. Use Module to load.
BG/Q Not available

Quick Start

Advisor includes both a graphical user interface (GUI) and a command line (CL) interface that can be accessed with the advixe-gui and advixe-cl commands, respectively. When running the GUI, begin by creating a new project, entering the executable path and arguments, and setting other options. Once the Advisor project is created, run through the threading nor vectorization workflow. The threading workflow consists of 5 steps:

  1. Survey Target to identify loops and functions that take a large portion of execution time.
  2. Find Trop Counts and FLOPS an optional step to collect additional information about loops.
  3. Annotate Sources to identify parallel regions.
  4. Check Suitability to model the predicted parallel performance.
  5. Check Dependencies to identify potential synchronization and sharing issues.

The vectorization workflow consists of 5 steps:

  1. Survey the Target Application to identify loops and functions that take a large portion of execution time.
  2. Collect Trip Counts to collect additional information about loops.
  3. Mark Loops for Deeper Analysis or Annotate Code for Deeper Analysis to identify parallel regions.
  4. Examine Potential Dependencies to predict possible data sharing issues.
  5. Consider Memory Access Patterns (MAP) to identify memory access strides within the selected loops.

Tutorials

Tutorials are available locally or from Intel's Web site as noted below.

C/C++ Tutorial /usr/tce/packages/advisor/default/documentation/en/tutorials/index.htm
Getting Started Tutorial (on Intel's Web site)
C++ Sample Application Code /usr/tce/packages/advisor/default/samples/en/C++/nqueens_Advisor.tgz

Documentation and References

The Advisor documentation can be found in /usr/tce/packages/advisor/default/documentation/en/welcomepage/get_started.htm or on Intel's Web site.

For more information, visit Intel's Advisor Web page.

LLNL-WEB-640716