Intel® Advisor
Design Code for Efficient Vectorization, Threading, Memory Usage, and Accelerator Offloading
Design High-Performance Software
Intel® Advisor is a design and analysis tool for developing performant code. The tool supports C, C++, Fortran, SYCL*, OpenMP*, OpenCL™ code, and Python*. It helps with the following:
- Performant CPU code: Design your application for efficient threading, vectorization, and memory use.
- Efficient GPU offload: Identify parts of the code that can be profitably offloaded. Optimize the code for compute and memory.
Download as Part of the Toolkit
Intel Advisor is included as part of the Intel® oneAPI Base Toolkit, which is a core set of tools and libraries for developing high-performance data-centric applications across diverse architectures.
Download the Stand-Alone Version
A stand-alone download of Intel Advisor is available. You can download binaries from Intel or choose your preferred repository.
Features
Roofline Analysis for CPUs
Optimize your code for memory and compute. With an automated Roofline Analysis, you can:
- Get a visual representation of application performance headroom against hardware limitations.
- Gain insight into an effective optimization roadmap:
- Identify high-impact optimization opportunities
- Detect and prioritize memory, cache, or compute bottlenecks by performance gain and understand their likely causes
- Visualize optimization progress.
User Guide: Analyze CPU Roofline
Roofline and Performance Insights for GPUs
Get actionable advice for performant GPU code. In addition to the Roofline Analysis for kernels, you can:
- Get specific, actionable recommendations to design code that runs optimally on GPUs.
- See the CPU and GPU code performance side-by-side with a unified dashboard.
- Discover GPU application performance characterization, such as bandwidth sensitivity, instruction mix, and cache-line use.
User Guide: Analyze a GPU Roofline
Use an Intel Advisor Command-Line Interface to Analyze a GPU Application
Offload Modeling
Understand if your code benefits from GPU porting or how much performance acceleration your GPU code can get from moving to a next-generation GPU. You can:
- Pinpoint offload opportunities where it pays off the most.
- Project the performance on a GPU.
- Identify bottlenecks and potential performance gains.
- Get guidance for optimizing a data transfer between host and target devices.
Estimate C++ Application Performance on a Target GPU
Model GPU Application Performance for a Different GPU Device
Vectorization Optimization
Quickly find high-impact vectorization opportunities to safely speed up your application.
- Find loops that will benefit from better vectorization.
- Identify where it is safe to force compiler vectorization.
- Pinpoint memory-access issues that may cause slowdowns.
- Get actionable user code-centric guidance to improve vectorization efficiency.
User Guide: Vectorization Optimization
Thread Prototyping
Swiftly model, tune, and test the performance of multiple threading designs without disrupting development.
- 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 to identify potential scaling without disrupting development or implementation.
- Find and eliminate data-sharing issues during design (when they're less expensive to fix).
Get Started
Download
Intel Advisor is a part of the Intel oneAPI Base Toolkit.
Try It Out
Follow the Get Started Guide and use an introductory code sample to see how Intel Advisor works.
Learn High-Performance Code Design
Browse the cookbooks for recipes to help you design and optimize high-performing code for modern computer architectures.
What Customers Are Saying
"We recommend using Intel MPI for best performance, and tools such as VTune™ Profiler and Intel Advisor to help better understand performance optimizations and how to best migrate your workloads to the cloud. Intel Advisor and the roofline model really allows our customers to understand what is possible and what the performance could be for their specific workloads."
— Ilias Katsardis, HPC solution lead, Google Cloud Platform* service
"Intel Advisor made it easier to find the cause of bottlenecks and decide on next optimization steps. It provided data to help us forecast the performance gain before we invested significant effort in implementation."
— Igor Chernykh, assistant professor, Novosibirsk State University
"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, HPC software engineer, Schlumberger
Specifications
Processors:
- IA-32 or Intel® 64 architecture processors that support Intel® Streaming SIMD Extensions 2 instructions
GPU:
- Intel® UHD Graphics for 11th generation Intel® processors or newer
- Intel® Iris® Xe graphics or newer
- Intel® Arc™ graphics
- Intel® Server GPU
- Intel® Data Center GPU Flex Series
- Intel® Data Center GPU Max Series
Languages and Programming Models:
- SYCL
- C and C++
- Fortran
- Python (for mixed native and Python codes)
- OpenMP
- OpenCL™ standard
For additional details, see the system requirements.
Operating systems:
- Windows*
- Linux*
Compilers:
- Compilers from Intel
- Microsoft* compilers
- GNU Compiler Collection (GCC)*
Get Help
Your success is our success. Access these support resources when you need assistance.
Related Products
Use this separate performance tool to optimize application performance, system performance, and system configuration for HPC, AI, cloud, IoT, media, storage, and more.
- CPU, GPU, and FPGA: Tune the entire application’s performance―not just the accelerated portion.
- Multilingual: Profile Data Parallel C++ (DPC++), C, C++, C#, Fortran, OpenCL code, Python, Google Go* programming language, Java*, .NET, Assembly, or any combination.
- System or application: Get coarse-grained system data for an extended period or detailed results mapped to source code.
- Power: Optimize performance while avoiding power- and thermal-related throttling.
Stay In the Know on All Things CODE
Sign up to receive the latest tech articles, tutorials, dev tools, training opportunities, product updates, and more, hand-curated to help you optimize your code, no matter where you are in your developer journey. Take a chance and subscribe. You can change your mind at any time.