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 Single instruction, multiple data (SIMD) is a type of parallel computer, parallel processing in Flynn's taxonomy. SIMD describes computers with multiple processing elements that perform the same operation on multiple data points simultaneousl ...
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 Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
and
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
operating systems in form of Standalone GUI tool,
Microsoft Visual Studio Visual Studio is an integrated development environment (IDE) developed by Microsoft. It is used to develop computer programs including websites, web apps, web services and mobile apps. Visual Studio uses Microsoft software development platforms ...
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, a tomographic technique * Myocardial perfusion imaging, a medical procedure that illustrates heart function * Mannose phosphate isomerase, an enzyme ...
). Intel Advisor user interface is also available on
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
. 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,
AVX2 Advanced Vector Extensions (AVX, also known as Gesher New Instructions and then Sandy Bridge New Instructions) are SIMD extensions to the x86 instruction set architecture for microprocessors from Intel and Advanced Micro Devices (AMD). They w ...
and
AVX-512 AVX-512 are 512-bit extensions to the 256-bit Advanced Vector Extensions SIMD instructions for x86 instruction set architecture (ISA) proposed by Intel in July 2013, and first implemented in the 2016 Intel Xeon Phi x200 (Knights Landing), and then ...
-enabled codes generated by
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
, GNU and
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
compilers auto-vectorization. It also supports analysis of "explicitly" vectorized codes which use
OpenMP OpenMP is an application programming interface (API) that supports multi-platform shared-memory multiprocessing programming in C, C++, and Fortran, on many platforms, instruction-set architectures and operating systems, including Solaris, ...
4.x and newer as well as codes or written using C vector intrinsics or
assembly language In computing, assembly language (alternatively 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 bet ...
.


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 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 (), doing business as SLB, is a global multinational oilfield services company. Founded in France in 1926, the company is now incorporated as Schlumberger NV in Willemstad, Curaçao, with principal executive offices in Houston ...
, 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, adopted by Intel, for a unified application programming interface (API) intended to be used across different computing accelerator ( coprocessor) architectures, including GPUs, AI accelerators and field-programmab ...
* Intel Developer Zone (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 samplecode

Schlumberger* - 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 An adviser or advisor is normally a person with more and deeper knowledge in a specific area and usually also includes persons with cross-functional and multidisciplinary expertise. An adviser's role is that of a mentor or guide and differs catego ...
Memory management software