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.
Your final step will be to express the parallelism in your program using a high-level parallel framework like Intel® Threading Building Blocks (Intel® TBB), OpenMP*, or Intel® Cilk™ Plus, or low-level threading APIs (application programming interface).
For native C/C++ or Fortran code, Intel recommends using the high-level Intel® TBB , OpenMP, or Intel Cilk Plus frameworks, which are included with Intel® Composer XE. Intel Advisor's documentation and sample code shows you how to introduce parallelism into your program using these frameworks. Intel Advisor provides multiple C/C++ samples and a Fortran nqueens sample.
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.