Next Steps for the Parallel Program

You have used Intel Advisor to help you add parallelism to the relevant parts of the nqueens sample program.

Continue with Intel® Parallel Studio XE or Intel® Cluster Studio XE Tools

As it examines a serial version of a program, Intel Advisor helps you:

  • Identify areas where you should consider adding parallelism.
  • Use tools that examine your running program to predict the parallel behavior of your program, such as the predicted performance of the parallel code and possible data sharing problems caused by parallel threads.

When you are satisfied with the potential parallelism identified by the Intel Advisor annotations, you convert the annotations to parallel framework code.

Before deploying your parallel (multithreaded) program, test it for correctness and verify its performance by using the Intel® Inspector and Intel® VTune™ Amplifier tools. In addition to Intel Advisor, the Intel® Parallel Studio XE, Intel® Cluster Studio XE, or similar product suites also include other useful tools:

  • The Intel® Composer XE contains the OpenMP* high-level parallel framework used in the previous step. In addition, the Intel Composer XE includes the Intel® C++ Compiler, the Intel® Fortran Compiler, the efficient Intel® Integrated Performance Primitives Library (for C/C++ use), the efficient Intel® Math Kernel Library (for Fortran use), the Intel® Threading Building Blocks parallel framework (for C++ use), and Intel® Cilk™ Plus parallel framework (for C/C++ use).
  • The Intel® Inspector uses the parallel version of your program to find correctness issues, such as shared data problems; it can also find certain problems related to memory use.

  • The Intel® VTune™ Amplifier uses the parallel version of your program to discover hotspots and provide other tuning information. It can help you measure performance speed-up, identify additional hotspots, and help you adjust locks for improved parallel performance.

Key Terms

parallel framework

Next Step

Tutorial Summary

For more complete information about compiler optimizations, see our Optimization Notice.