Intel Advisor
Developer(s) | Intel Developer Products |
---|---|
Stable release | 2017 Update 2
/ February 23, 2017 |
Operating system | Windows and Linux |
Type | Profiler |
License | Freeware[1] |
Website | software |
Intel Advisor (also known as "Advisor XE", "Vectorization Advisor" or "Threading Advisor") is a SIMD vectorization optimization and shared memory threading assistance tool for C, C++, C# and Fortran software developers and architects. This product is available on Windows and Linux operating systems in form of Standalone GUI tool, Microsoft Visual Studio plug-in or command line interface (also supporting usage with MPI).
Vectorization Advisor
Intel Advisor incorporates two workflows (two feature-sets): Vectorization Advisor and Threading Advisor.
Vectorization Advisor supports analysis of scalar, SSE, AVX, AVX2 and AVX-512-enabled codes generated by Intel, GNU and Microsoft compilers auto-vectorization. It also supports analysis of "explicitly" vectorized codes which use OpenMP 4.x or Intel Cilk Plus as well as codes or written using C vector intrinsics or assembly language. Intel Advisor includes following main features:
- Advisor "Survey" feature which helps to vectorize scalar part of the code or improve performance of already vectorized loops.
- Survey includes dynamic hotspots analysis, seamless integration with Intel Compiler diagnostics, cost / benefit / efficiency analysis and interactive optimization advices ("Recommendations")
- Advisor "Trip Counts" measures accurate (exact) call counts and iteration counts for all loops in user application.
- Advisor "Correctness" automatically detects loop-carried dependencies and other potential data sharing issues.
- Advisor "Memory Access Pattern" analyzes the memory access pattern (stride).
- Advisor "Roofline Analysis"
The Vectorization Advisor capability was introduced in 2016 release of Intel Advisor.[2][3][4] It works with compilers from GCC and Microsoft, but will provide additional information when used with Intel Compilers version 15.x or newer. Examples include "Why Not Vectorize" or "Vector Efficiency" metrics.
Intel Advisor is available as part of Intel Parallel Studio XE
Intel® Xeon Phi™ processor and AVX-512 support
Vectorization Advisor (part of Intel Advisor 2016) supports native analysis for 2nd generation Intel® Xeon Phi™ (codenamed Knights Landing) processor,[5][6][7] starting from Intel Advisor 2016 Update 3 version. Advisor Survey and MAP analysis have several AVX-512-specific tuning capabilities. Advisor also has separate capability ("Analysis of non-Executed code paths") to analyze AVX-512 code characteristics while running analysis on platforms which don't support AVX-512.[8]
Roofline performance model automation in Intel Advisor
Intel Advisor automates the Roofline Performance Model first proposed by at Berkeley[9] and extended at the University of Lisbon.[10]
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 [11], [12], [13]
Customer usage
From public sources it is known to be used by Schlumberger,[14] Sandia national lab as well as by some "leading design" company,[15] who classified it as "a great timesaver" and "incredibly useful tool in supporting parallel algorithm research".
Advisor also aims to simplify and speed-up parallel design and implementation by providing step-by-step workflow, claimed to be useful for academia and educational purposes.[16]
From public sources, new Vectorization Advisor capabilities (introduced in August' 2015) are known to be used by LRZ and ICHEC,[17] Daresbury Lab,[18] Pexip [19]
Threading Advisor
Prototype Threading Designs 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-downn (exposing negative impact caused by Load Imbalance, Parallel Runtimes Overhead and Lock Contention).[20]
Threading suitability projections for Intel Xeon Phi
Beginning with the 2015 release,[21] Suitability analysis supported first generation Intel Xeon Phi™ coprocessor (Knights Corner) threading performance, scalability and parallel runtimes overheads modeling. Suitability estimates Intel® Xeon Phi™ processor peak performance for a given loop/workload and automatically compares it with appropriate double-socket 16-core Intel® Xeon® reference performance baseline.[22]
See also
- Intel Parallel Studio XE
- Intel Parallel Inspector
- Intel VTune Amplifier
- Intel Data Analytics Acceleration Library (DAAL)
- Intel Integrated Performance Primitives (IPP)
- Intel Math Kernel Library (MKL)
- Intel Threading Building Blocks (TBB)
- Intel Developer Zone (Intel DZ; support and discussion)
References
- ^ "No Cost Options for Intel Parallel Studio XE, Support yourself, Royalty-Free".
- ^ https://indico.cern.ch/event/392043/attachments/784430/1075311/HPC_codes_modernization_tools_2.pdf
- ^ http://habrahabr.ru/company/intel/blog/255731/
- ^ http://goparallel.sourceforge.net/wp-content/uploads/2015/09/TheParallelUniverse_Issue_22-Feature2.pdf
- ^ https://software.intel.com/en-us/articles/intel-advisor-xe-2016-update-3-what-s-new
- ^ https://doc.itc.rwth-aachen.de/download/attachments/20775798/Programming_SIMD_Advisor_part2.pdf?version=1&modificationDate=1448273651000&api=v2
- ^ "Archived copy". Archived from the original on 2015-10-21. Retrieved 2015-12-09.
{{cite web}}
: CS1 maint: archived copy as title (link) - ^ https://software.intel.com/en-us/articles/intel-advisor-xe-2016-update-3-what-s-new
- ^ Williams, Samuel (April 2009). "Roofline: An insightful Visual Performance model for multicore Architectures" (PDF). University of Berkeley.
- ^ Ilic, Aleksandar. "Cache-aware Roofline model: Upgrading the loft" (PDF). Instituto de Engenharia de Sistemas e Computadores Investigação e Desenvolvimento em Lisboa.
- ^ "Roofline Analysis in Intel Advisor 2017: youtube how-to video".
- ^ "Intel Advisor Roofline step-by-step Tutorial".
- ^ "Using Roofline Model and Intel Advisor, presented by Sam Williams, Roofline performance model author".
- ^ "Schlumberger* - Parallelize Oil and Gas software with Intel Software products" (PDF).
- ^ ""Leading design" company Advisor XE case study" (PDF).
- ^ "Supercomputing'2012 HPC educator with Slippery Rock University".
- ^ http://software.intel.com/en-us/intel-advisor-xe/reviews
- ^ "Computer-Aided Formulation case study: getting helping hand from the Vectorization Advisor".
- ^ "Pexip Speeds Enterprise-Grade Videoconferencing" (PDF).
- ^ "How to model suitability using Advisor XE 2015?".
- ^ "Intel® Advisor 2015 Release Notes".
- ^ "How to use Intel® Advisor 2015 to model suitability on an Intel® Xeon Phi™ coprocessor".
External links
- Official website
- "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:
- 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 Parallel Inspector Product Page