Threading Advisor

Quickly model, tune, and test the performance of multiple threading designs without disrupting development.

Scale Applications with Confidence

Have you threaded an application but seen little benefit? Hit a “scalability barrier”? Delayed a release due to synchronization errors?

Threading Advisor helps you quickly prototype multiple threading options, project scaling on larger systems, optimize faster, and implement with confidence.

  • Identify issues and fix them before implementing parallelism
  • Add threading to C, C++, C#, and Fortran code
  • Prototype the performance impact of different threaded designs and project scaling on systems with larger core counts without disrupting development or implementation
  • Find and eliminate data-sharing issues during design (when they're less expensive to fix)

 

Parallel Programming Models

Intel® Advisor supports both open and industry-standard parallel programming models. To help you decide what to work with, here is an overview of each one's strength:

  • OpenMP* is compatible with legacy code.
  • Intel® Threading Building Blocks (Intel® TBB) has a rich set of abstractions.
  • Microsoft Task Parallel Library* (TPL) is designed for C#.

Each model supports the following languages:

C, C++

Intel TBB
OpenMP

C#

MicrosoftTPL

Fortran

OpenMP

Survey Analysis

 

Uncover code changes that make the most impact for performance. Access the integrated compiler report and performance data in one place, including code-specific recommendations to implement parallelism.

Annotations
 

Insert annotations into your source code to quickly sketch out potential parallelism for analysis. The compiler ignores annotations—they’re only used to model your design. This means your code remains serial, all your test cases continue to work, and no threading bugs are introduced during the design phase.

"Check Suitability" Analysis

 

Evaluate and project performance and scalability of alternative threading designs, helping you understand potential load imbalance, lock contention, and the impact of runtime overhead.

Dependencies Report

 

Predict parallel data-sharing problems that can lead to deadlocks and races. Access a list of errors, code snippets at all related code locations, and a click-through navigation to the actual source location.

What Customers Are Saying

"Intel Advisor has been extremely helpful in identifying the best pieces of code for parallelization. We can save several days of manual work by targeting the right loops. At the same time, we can use Intel Advisor to find potential thread safety issues to help avoid problems later on."

 

— Carlos Boneti, high-performance computing (HPC) software engineer, Schlumberger

See All Reviews

"Intel Advisor has allowed us to quickly prototype ideas for parallelism, saving developer time and effort. It has already been used to highlight subtle parallel correctness issues in complex multifile, multifunction algorithms, which may eventually have caused lengthy debugging activities later in our code development. We plan to continue to use the tool as we extend our research into more complex algorithms and begin to take further advantage of the thread parallelism and performance in the Intel® Xeon® processor family and Intel® Xeon Phi™ product family."


— Simon Hammond, senior member of technical staff, scalable computer architectures, Sandia National Laboratories

See All Reviews

"Intel Advisor can be invaluable in developing the understanding required to parallelize existing code. It assists with identifying opportunities, designing tests, modeling scenarios, and revealing flaws."

 

— Matt Osterberg, senior software engineer, Vickery Research Alliance

See All Reviews

"It's powerful to have the performance and correctness analysis combined together in Intel Advisor. Experimenting with different parallelization techniques is much faster and more convenient."

 

— Arthur Yuldashev, senior lecturer, Ufa State Aviation Technical University

See All Reviews

Learn About Additional Features

Roofline Analysis

Optimize your application for memory and compute.

Vectorization Optimization

Enable more vector parallelism and improve its efficiency.

Build Heterogeneous Algorithms

Create and analyze data flow and dependency computation graphs.

Ready to Get Started?


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