Intel Advisor
   HOME

TheInfoList



OR:

Intel Advisor (also known as "Advisor XE", "Vectorization Advisor" or "Threading Advisor") is a design assistance and analysis tool for SIMD vectorization, threading, memory use, and GPU offload optimization. The tool supports C, C++, Data Parallel C++ (DPC++), Fortran and Python languages. It is available on
Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
and
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
operating systems in form of Standalone GUI tool,
Microsoft Visual Studio Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms such a ...
plug-in or command line interface. It supports OpenMP (and usage with
MPI MPI or Mpi may refer to: Science and technology Biology and medicine * Magnetic particle imaging, an emerging non-invasive tomographic technique * Myocardial perfusion imaging, a nuclear medicine procedure that illustrates the function of the hear ...
). Intel Advisor user interface is also available on
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
. Intel Advisor is available for free as a stand-alone tool or as part of the Intel oneAPI Base Toolkit. Optional paid commercial support is available for the oneAPI Base Toolkit.


Features


Vectorization optimization

Vectorization is the operation of Single Instruction Multiple Data (SIMD) instructions (like Intel Advanced Vector Extensions and Intel Advanced Vector Extensions 512) on multiple objects in parallel within a single CPU core. This can greatly increase performance by reducing loop overhead and making better use of the multiple math units in each core. Intel Advisor helps find the loops that will benefit from better vectorization, identify where it is safe to force compiler vectorization. It supports analysis of scalar, SSE,
AVX AVX may refer to: Technology * Advanced Vector Extensions, an instruction set extension in the x86 microprocessor architecture ** AVX2, an expansion of the AVX instruction set ** AVX-512, 512-bit extensions to the 256-bit AVX * AVX Corporation, a m ...
,
AVX2 Advanced Vector Extensions (AVX) are extensions to the x86 instruction set architecture for microprocessors from Intel and Advanced Micro Devices (AMD). They were proposed by Intel in March 2008 and first supported by Intel with the Sandy Bridge ...
and AVX-512-enabled codes generated by
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the developers of the x86 seri ...
, GNU and
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
compilers auto-vectorization. It also supports analysis of "explicitly" vectorized codes which use OpenMP 4.x and newer as well as codes or written using C vector intrinsics or
assembly language In computer programming, assembly language (or assembler language, or symbolic machine code), often referred to simply as Assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence be ...
.


Automated Roofline analysis

Intel Advisor automates the Roofline Performance Model first proposed at Berkeley and extended at the University of Lisbon. Advisor "Roofline Analysis" helps to identify if given loop/function is memory or CPU bound. It also identifies under optimized loops that can have a high impact on performance if optimized. Intel Advisor also provides an automated memory-level roofline implementation that is closer to the classical Roofline model. Classical Roofline is especially instrumental for high performance computing applications that are DRAM-bound. Advisor memory level roofline analyzes cache data and evaluates the data transactions between different memory layers to provide guidance for improvement. Intel Advisor roofline analysis supports code running on CPU or GPU. It also supports integer based applications - that is heavily used in machine learning, big data domains, database applications, financial applications like crypto-coins.


Threading prototyping

Software architects add code annotations to describe threading that are understood by Advisor, but ignored by the compiler. Advisor then projects the scalability of the threading and checks for synchronization errors. Advisor ''Threading'' "Suitability" feature helps to predict and compare the parallel SMP scalability and performance losses for different possible threading designs. Typical Suitability reports are shown on Suitability CPU screen-shot on the right side. Advisor Suitability provides dataset size (iteration space) modeling capabilities and performance penalties break-down (exposing negative impact caused by Load Imbalance,
Parallel Runtimes Parallel is a geometric term of location which may refer to: Computing * Parallel algorithm * Parallel computing * Parallel metaheuristic * Parallel (software), a UNIX utility for running programs in parallel * Parallel Sysplex, a cluster of IBM ...
Overhead and Lock Contention).


Offload modelling

Advisor adds GPU offload performance modeling feature in the 2021 release. It collects application performance characteristics on a baseline platform and builds analytical performance model for target (modelled) platform. This provides performance speedup estimation on target GPUs and overhead estimations for offloading, data transfer and scheduling region execution and pinpoints performance bottlenecks. This information can serve for choosing offload strategy: selecting regions to offload and anticipate potential code restructuring needed to make it GPU-ready.


Customer usage

Intel Advisor is used by
Schlumberger Schlumberger Limited (), doing business as SLB, is an oilfield services company. Schlumberger has four principal executive offices located in Paris, Houston, London, and The Hague. Schlumberger is the world's largest offshore drilling compa ...
, Sandia national lab, and others for design and parallel algorithm research and ''Vectorization'' Advisor capabilities known to be used by LRZ and ICHEC, Daresbury Lab, Pexip. The step-by-step workflow is used by academia for educational purposes.


See also


Intel Inspector




*
oneAPI (compute acceleration) oneAPI is an open standard for a unified application programming interface intended to be used across different compute accelerator (coprocessor) architectures, including GPUs, AI accelerators and field-programmable gate arrays. It is intended ...
*
Intel Developer Zone The Intel Developer Zone is an international online program designed by Intel to encourage and support independent software vendors in developing applications for Intel hardware and software products. This support is provided for the key stages of t ...
(Intel DZ; support and discussion)


References


External links

*
"Get a Helping Hand from the Vectorization Advisor" - Hartree case study with reference to Unilever and other CAF applications"aixVectorize" Vectorization and Tuning workshop at RWTH
*
aixVectorize "HPC Codes Modernization using Intel (Vectorization) Advisor" tutorial foils
*
aixVectorize aixVectorize labs and samplecodeSchlumberger* - Parallelize Oil and Gas software with Intel Software products

Anonymous "leading design" company case study with Advisor XE

Kyoto University SuperComputing center user guide on Advisor XE usage on Linux

How to use Intel® Advisor XE 2015 to model suitability on an Intel® Xeon Phi™ coprocessor


{{Intel software Debuggers Advisor Memory management software