THREADING ADVISOR

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

Get Started

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++ C# Fortran
Intel TBB Microsoft TPL OpenMP
OpenMP    

Key Features

survey and roofline U I

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.

sample of annotations in code

Annotations provide a description of your threading design, allowing you to analyze scalability and find dependency errors without disrupting development.

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.

sample of a scalability analysis

Project scalability on large-core-count systems before you commit to a threading implementation.

"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.

example of a dependencies report

Find potential deadlocks and races before you implement threading.

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

Learn About Additional Capabilities in Intel® Advisor