Intel® Advisor

Intel® Cilk™ Plus

Intel® Cilk™ Plus is a parallel programming framework for C or C++ code that helps you harness the performance of multi-core processors. Intel Cilk Plus provides many advantages, including:

  • Requires few source changes.

  • Preserves the serial semantics of your program.

  • Provides powerful hyperobjects, so you can avoid using locks, which can slow parallel execution.

Testing the Intel TBB Synchronization Code

After you add Intel TBB synchronization code (such as mutexes), but before adding the constructs that cause the program to use parallel execution, you should test your serial program. The synchronization code may introduce problems if you have inadvertently used a non-recursive mutex in a recursive context, or if your edits accidentally changed some other piece of program behavior.

It is much easier to find these problems in the serial version of your program than it will be in the parallel version.

Basic OpenMP Atomic Operations

Use OpenMP atomic operations to allow multiple threads to safely update a shared numeric variable, such as on hardware platforms that support atomic operation use. An atomic operation applies only to the single assignment statement that immediately follows it, so atomic operations are useful for code that requires fine-grain synchronization.

Before the statement to be protected, use:

  • #pragma omp atomic for C/C++.

Saving Results to a Custom Location

The Intel Advisor saves a result in a subdirectory of each project's directory. The project directory is the directory specified when creating the Intel Advisor GUI project. Instead of saving results within each project's directory, you can specify a custom, central location for saving all new results.

To save results to a custom location when using the Intel Advisor GUI:

Special-purpose Annotations

All Intel Advisor special-purpose annotations are recognized by the Dependencies tool, which observes memory accesses in great detail. Some of these annotations prevent the Dependencies tool from reporting all or specific data sharing problems, while one (Observe Uses of Storage) provides more detail about memory accesses.

Subscribe to Intel® Advisor