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 (
) 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® Advisorcombines 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
how it would behave if it was parallelized in the ways you specify.
As an add-in to Microsoft Visual Studio*,
Intel Advisorfits 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® oneAPI Threading Building Blocks(
oneTBB) or OpenMP*, or low-level threading APIs.
For native C/C++ or Fortran code, Intel recommends using the high-level
oneTBBor OpenMP frameworks, which are included with several Intel® oneAPI Toolkits.
Intel Advisor's documentation shows you how to introduce parallelism into your program using these frameworks.
Intel Advisorprovides multiple C/C++ samples and several Fortran samples.
For managed C# code on Windows* OS, use the Microsoft Task Parallel Library* (TPL).
Intel Advisorprovides a C#
C# and .NET support is deprecated starting
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.