User Guide

Contents

Key Concepts

This group of topics introduces you to the key concepts and terms needed to add parallelism to a program. A list of key terms is also provided.
Over the last few years, processor technology found in personal laptops, desktops, and enterprise servers has shifted from making single-core processors faster to having multiple cores in each processor.
In a parallel program, portions of the program (
tasks
) may execute at the same time. On multi-core systems, this can provide better performance.
To parallelize your application, you need to identify the potential parallel tasks, modify your code to run correctly when these tasks execute in parallel, and add code to execute them in parallel.
Intel® Advisor
combines a methodology with a set of tools to help you add this parallelism to your program. You work on the sequential version of your program and the tools
model
how it would behave if it was parallelized in the ways you specify.
As an add-in to Microsoft Visual Studio*,
Intel Advisor
fits right into a Windows* OS development environment.
Your final step will be to express the parallelism in your program using a high-level parallel framework (threading model) like
Intel® Threading Building Blocks (Intel® TBB)
or OpenMP*, or low-level threading APIs.
For native C/C++ or Fortran code, Intel recommends using the high-level
Intel TBB
or OpenMP frameworks, which are included with most Intel® Parallel Studio XE editions.
Intel Advisor
's documentation shows you how to introduce parallelism into your program using these frameworks.
Intel Advisor
provides multiple C/C++ samples and several Fortran samples.
For managed C# code on Windows* OS, use the Microsoft Task Parallel Library* (TPL).
Intel Advisor
provides a C#
nqueens
sample.
This is an interactive process, where you repeat these basic steps as you identify more sites for adding parallelism.
The related group of topics provides an introduction to parallelism, and to parallel framework implementations.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804