Discover where to add parallelism by using Intel® Advisor 2013 and the nqueens Fortran sample application program. The major steps are to profile your application and add Intel Advisor annotations, predict your program's parallel behavior, and add parallel code to the selected parallel regions.

About This Tutorial

This tutorial demonstrates the first part of a workflow you can ultimately apply to your own applications. You will:

  • Build a serial application to produce a target executable. This target will be analyzed by Intel Advisor tools.
  • Profile the application to locate possible places where you might add parallelism.
  • Edit application code to add annotations that mark possible parallel (multithreaded) code regions.
  • Measure the predicted parallel performance of the annotated target by using the Suitability tool analysis.
  • Detect predicted parallel sharing problems of the annotated target by using the Correctness tool analysis.
  • Examine the summary data from the Suitability and Correctness tools to help you decide whether to modify or accept the proposed parallel sites and tasks.
  • Fix the predicted data sharing problems detected by the Correctness tool. Run both tools again to check the impact of fixing sharing problems.
  • View parallel code from a selected high-level parallel framework.

Estimated Duration

25-30 minutes.

Learning Objectives

After you complete this tutorial, you should be able to:

  • Understand the major steps in the Intel Advisor workflow.
  • Become familiar with the build requirements for the three Intel Advisor tools.
  • Know how to run the Survey tool to profile your application and view its report to identify the time-consuming loops and functions.
  • Select a possible parallel code region (site) and its tasks. Insert Intel Advisor annotations to mark these possible parallel code regions.
  • Run the Suitability tool to measure your annotated program's predicted parallel performance for each parallel site and its task(s).
  • Run the Correctness tool to predict your annotated program's likely parallel data sharing problems, such as data races.
  • View the Summary window to examine your program's predicted parallel performance and data sharing problems.
  • Become familiar with the process of modifying your code to fix predicted sharing problems by adding synchronization.
  • Locate resources to help you replace Intel Advisor annotations with parallel framework code.

More Resources

The concepts and procedures in this tutorial apply regardless of programming language or parallel framework selected; however, a similar tutorial using a sample application in the C/C++ language is also installed and may be available at http://software.intel.com/en-us/articles/intel-software-product-tutorials/. This site also offers tutorials for all the Intel® Parallel Studio XE products and a printable version (PDF) of tutorials.

In addition, you can find more resources on the Intel® Developer Zone at http://software.intel.com/en-us/articles/intel-parallel-studio-xe/.