Revealing the performance aspects in your code
|
|
- Lauren Sullivan
- 5 years ago
- Views:
Transcription
1 Revealing the performance aspects in your code 1
2 Three corner stones of HPC The parallelism can be exploited at three levels: message passing, fork/join, SIMD Hyperthreading is not quite threading A popular strategy Nodes can have different is choose frequency, one Memory of is typically first non-uniform two and too let compiler do arch, the # of cores vectorization and SIMD width Latency and bandwidth are different between different nodes This view is functional, but performance agnostic Caches have many levels of hierarchy with own latencies and rules Different instructions may be available for different types (SP vs. DP) Alignment requirements can be strict and contradict with other constraints Software and Services Group 2
3 First Things First!
4 Get Base Line Performance (I/III) Single node: Xeon E5 and Xeon Phi separate Software and Services Group 4
5 Get Base Line Performance (II/III) Heterogeneous: Xeon E5 + Xeon Phi Software and Services Group 5
6 Get Base Line Performance (III/III) Heterogeneous Cluster: N*(Xeon E5 + Xeon Phi ) Software and Services Group 6
7 Base Line Results Analysis For 1 and 2 nodes we get a 2X Speedup for the heterogeneous version vs. Xeon E5. For higher node numbers Xeon E5 shows a super linear speedup while Xeon E5 + Xeon Phi saturates. Potential reasons may be: - message passing performance - changing load balance - sub optimal vectorization for Xeon Phi Software and Services Group 7
8 A few BKMs to Try!
9 BKM: Tune programs with affinity set Problem: results are not stable b/w runs Solution: use KMP_AFFINITY to bind threads Compact Scatter Balanced Software and Services Group 9
10 Check Scalability: Xeon & Xeon Phi Using timer functions is quick and easy! Xeon performance doesn t scale beyond 1 socket. Need to be investigated! 100T run on 60C KNC gives Best Performance. Why? 10
11 Loop Profiler - Identify Time Consuming Loops / Functions to Optimize Enables targeting parallelization/optimization efforts to most significant code areas ( hotspot identification ) Easy to use: Use compiler switches to add instrumentation to the application Compiler instruments entry and exits of all loops and functions icc -O1 -profile-functions -profile-loops=all -profile-loops-report=2 Running the application generates a report file with resulting counts Both a human-readable text file (a table) and an XML-file are generated Analyze data by looking at the raw text file, or use the GUI viewer shipped with compiler Report file contains information such as: Call count of routines Self-time of functions / loops Total-time of functions / loops Average, minimum, maximum iteration counter of loops!! 11
12 Loop Profile Data Viewer GUI 12
13 Original Parallel Version: Not vectorized Check Compiler VEC Reports! 10 static inline size_t postoidx(const size_t width, const Position& pos){ 11 return (pos.y * width) + pos.x; 12 } static void subtractpsf(const float* psf,...) { #pragma omp parallel for default(shared) 26 for (int y = starty; y <= stopy; ++y) { 27 for (int x = startx; x <= stopx; ++x) { 28 residual[postoidx(residualwidth, Position(x, y))] -= gain * abspeakval 29 * psf[postoidx(psfwidth, Position(x - diffx, y - diffy))]; 30 } 31 } 32 } Compiler can t identify the index pattern Compiler unable to vectorize the loop at line 27. Index compute complex! 13 13
14 Replacing OpenMP critical section: With a serial loop reduction loop Better Scalability! Original Code Optimized Code #pragma omp parallel { float threadabsmaxval = 0.0; int threadabsmaxpos = 0; Compute per thread Peak #pragma omp parallel { float threadabsmaxval = 0.0; size_t threadabsmaxpos = 0; Compute per thread Peak #pragma omp for schedule(static) for (int i = 0; i < size; ++i) { if (abs(image[i]) > (threadabsmaxval)) { threadabsmaxval = abs(image[i]); threadabsmaxpos = i; } #pragma omp critical if (threadabsmaxval > maxval) { maxval = threadabsmaxval; maxpos = threadabsmaxpos; } } maxval = image[maxpos]; Find global peak across all threads Performance Gain: 1.12X } #pragma omp for schedule(static) for (int i = 0; i < size; ++i) { if (abs(image[i]) > (threadabsmaxval)) { threadabsmaxval = abs(image[i]); threadabsmaxpos = i; } int t_num = omp_get_thread_num(); temp_peak[t_num] = threadabsmaxval; temp_pos[t_num] = threadabsmaxpos; for (int k = 0; k < num_t ; k++) { if ((temp_peak[k]) > (maxval)) { maxval = temp_peak[k]; maxpos = temp_pos[k]; } } maxval = image[maxpos]; Store per thread Peak Find global peak across all threads # KNC 48C 14
15 Profiling MPI + OpenMP Heterogeneous Execution
16 Profile using Intel Cluster Studio XE 10 MPI Xeon + 22 MPI Xeon Phi x 11 OpenMP Unbalanced Load 16
17 Profile using Intel Cluster Studio XE 12 MPI Xeon + 20 MPI Xeon Phi x 12 OpenMP Balanced Load 17
18 Profiling using Intel VTune Amplifier XE 18
19 Intel VTune Amplifier XE Performance Profiler Where is my application Spending Time? Wasting Time? Waiting Too Long? Focus tuning on functions taking time See call stacks See time on source See cache misses on your source See functions sorted by # of cache misses See locks by wait time Red/Green for CPU utilization during wait Windows & Linux Low overhead No special recompiles Advanced Profiling For Scalable Multicore Performance 19
20 Intel VTune Amplifier XE Tune Applications for Scalable Multicore Performance Fast, Accurate Performance Profiles Hotspot (Statistical call tree) Call counts (Statistical) Hardware-Event Sampling Thread Profiling Visualize thread interactions on timeline Balance workloads Easy set-up Pre-defined performance profiles Use a normal production build Find Answers Fast Filter extraneous data View results on the source / assembly Compatible Microsoft, GCC, Intel compilers C/C++, Fortran, Assembly,.NET, Java Latest Intel processors and compatible processors 1 Windows or Linux Visual Studio Integration (Windows) Standalone user i/f and command line 32 and 64-bit 1 IA32 and Intel 64 architectures. Many features work with compatible processors. Event based sampling requires a genuine Intel Processor. 20
21 Intel VTune Amplifier XE Get a quick snapshot 4 cores CPU Usage Thread Concurrency 21 21
22 Intel VTune Amplifier XE Identify hotspots Hottest Functions Hottest Call Stack Quickly identify what is important 22
23 Intel VTune Amplifier XE Identify threading inefficiency Coarse Grain Locks High Lock Contention Low Concurrency Load Imbalance 23
24 Intel VTune Amplifier XE Find Answers Fast Adjust Data Grouping (Partial list shown) Click [+] for Call Stack Double Click Function to View Source Filter by Timeline Selection (or by Grid selection) Filter by Module & Other Controls 24
25 Intel VTune Amplifier XE Timeline Visualizes Thread Behavior Locks & Waits Transitions Hotspot s CPU Time Lightweight Hotspots Hovers: Optional: Use API to mark frames and user tasks Optional: Add a mark during collection 25
26 Intel VTune Amplifier XE See Profile Data On Source / Asm Time on Source / Asm Quick Asm navigation: Select source to highlight Asm Quickly scroll to hot spots. Right click for instruction reference manual Intel VTune Amplifier XE Click jump to scroll Asm 26
27 High-level Features 27
28 Intel VTune Amplifier XE Feature Highlights Basic Hot Spot Analysis (Statistical Call Graph) Locates the time consuming regions of your application Provides associated call-stacks that let you know how you got to these time consuming regions Call-tree built using these call stacks Advanced Hotspot and architecture analysis Based on Hardware Event-based Sampling (EBS) Pre-defined tuning experiments Thread Profiling Visualize thread activity and lock transitions in the timeline Provides lock profiling capability Shows CPU/Core utilization and concurrency information GPU Compute Performance Analysis Collect GPU data for tuning OpenCL applications. Correlate GPU and CPU activities CPU Power Efficiency Analysis Wake-up rate and frequency measurement per Core 28
29 Intel VTune Amplifier XE Feature Highlights Attach to running processes Hotspot and Concurrency analysis modes can attach to running processes System wide data collection EBS modes allows system wide data collection and the tool provides the ability to filter this data GUI Standalone GUI available on Windows* and Linux Microsoft* Visual Studio integration Command Line Comprehensive support for regression analysis and remote collection Platform & application support Windows * and Linux (Android, Tizen, Yocto in the ISS) Microsoft *.NET/C# applications Java * and mixed applications Fortran applications 29
30 Intel VTune Amplifier XE Feature Highlights Event multiplexing Gather more information with each profiling run Timeline correlation of thread and event data Populates thread active time with event data collected for that thread Ability to filter regions on the timeline Advanced Source / Assembler View See event data graphed on the source / assembler View and analyze assembly as basic blocks Review the quality of vectorization in the assembly code display of your hot spot Provides pre-defined tuning experiments Predefined profiles for quick analysis configuration A user profile can be created on a basis of a predefined profile User API Rich set of user API for collection control, events highlighting, code instrumentation, and visualization enhancing. 30
31 Data Collectors and Analysis Types 31
32 Intel VTune Amplifier XE Analysis Types (based on technology) Software Collector Any x86 processor, any virtual, no driver Basic Hotspots Which functions use the most time? Concurrency Tune parallelism. Colors show number of cores used. Locks and Waits Tune the #1 cause of slow threaded performance waiting with idle cores. Hardware Collector Higher res., lower overhead, system wide Advanced Hotspots Which functions use the most time? Where to inline? Statistical call counts General Exploration Where is the biggest opportunity? Cache misses? Branch mispredictions? Advanced Analysis Dig deep to tune bandwidth, cache misses, access contention, etc. 32
33 Intel VTune Amplifier XE Pre-defined Analysis Types Advanced Hotspot analysis based on the underlying architecture User mode sampling, Threading, IO, Signaling API instrumentation 3 rd Generation Core Architecture (a.k.a SandyBridge) analysis types 4 th Generation Core Architecture (a.k.a Haswell) analysis types 33
34 GUI Layout 34
35 Creating a Project GUI Layout
36 Selecting type of data collection GUI Layout All available analysis types Different ways to start the analysis Helps creating new analysis types Copy the command line to clipboard 36
37 Profile a Running Application No need to stop and re-launch the app when profiling Two Techniques: Attach to Process: - Any type of analysis Profile System: - Advanced Hotspots & Custom EBS - Optional: Filter by process after collection 37
38 Summary View GUI Layout Clicking on the Summary tab shows a high level summary of the run Timing for the whole application run List of 5 Hotspot functions CPU Usage 38
39 Bottom-Up View GUI Layout Menu and Tool bars Analysis Type Current grouping Viewpoint currently being used Tabs within each result Grid area Stack Pane Filter area Timeline area 39
40 Top-Down View GUI Layout Clicking on the Top- Down Tree tab changes stack representation in the Grid Top-level function and it s tree Total Time (self + children s) Self Time 40
41 Caller/Callee View GUI Layout Select a function in the Bottom-Up and find the caller/callee List of functions sorted by CPU Time List of callers and their stacks List of callees and their stacks 41
42 Results Comparison 42
43 Intel VTune Amplifier XE Terminology Elapsed Time The total time your target application ran. Wall clock time at end of application Wall clock time at start of application CPU Time The amount of time a thread spends executing on a logical processor. For multiple threads, the CPU time of the threads is summed. Wait Time The amount of time that a given thread waited for some event to occur, such as: synchronization waits and I/O waits 43
44 Intel VTune Amplifier XE CPU Usage Thread1 Waiting Thread1 Thread2 Waiting Thread2 Thread3 Waiting Thread3 Thread running 1sec 1sec 1sec 1sec 1sec 1sec Thread waiting Elapsed Time: 6 seconds CPU Usage CPU Time: T1 (4s) + T2 (3s) + T3 (3s) = 10 seconds Wait Time: T1(2s) + T2(2s) + T3 (2s) = 6 seconds
45 CPU Usage Summary View: CPU Usage Histogram Only CPU Time measured Bottom-Up View: CPU Time Wait Time is not counted in Hotspots Function CPU Time By CPU Utilization My_Func() 10 s 45
46 Overhead and spin Threading library internals Thread1 Waiting lib Thread1 Thread2 Waiting lib Thread2 Thread3 Waiting user Thread3 code lib running or spin Spin wait Thread running 1sec 1sec 1sec 1sec 1sec 1sec Thread waiting Elapsed Time: 6 seconds CPU Usage CPU Time: T1 (4s) + T2 (3s) + T3 (3s) = 10 seconds Wait Time: T1(2s) + T2(2s) + T3 (2s) = 6 seconds Overhead and spin Time: T1(1s) + T2(1s) + T2(1s) = 3 s
47 CPU Usage Summary View: CPU Usage Histogram Overhead and Spin Time is not counted for CPU Usage Bottom-Up View: CPU Time Function CPU Time By CPU Utilization My_Func() 10 s 4 s Overhead and Spin Time 47
48 Hotspot analysis Displays hot functions in your application Shows most time consuming call sequences Statistical Call Graph Include timeline view of threads in your application Basic Hotspot Analysis Start the Analysis 48
49 Hotspot analysis Summary Note Elapsed Time and CPU Time 49
50 Hotspot analysis Summary (Continued) Note overall CPU Usage Note # of CPUs Available on the platform 50
51 Hotspots analysis Hotspot functions Adjust Data Grouping Hotspot Functions Change Viewpoint (Partial list shown) Function CPU time Click [+] for Call Stack Thread timeline Call stack Filter by Module & Other Controls Filter by Timeline Selection (or by Grid Selection) 51
52 Hotspots analysis Hotspot functions by CPU usage Double Click Function to View Source Coloring CPU Time by CPU Utilization Overhead and Spin Time Overhead and Spin on Timeline 52
53 Hotspots analysis Source View Source View Assembly View Self and Total Time on Source / Asm Right click for instruction reference manual Quick Asm navigation: Select source to highlight Asm Click jump to scroll Asm Quickly scroll to hot spots. Scroll Bar Heat Map is an overview of hot spots 53
54 Advanced Hotspot analysis Uses Intel s CPU hardware performance collectors Higher resolution of sampling (~1 /ms) System wide analysis (all processes running in a system) OS modules and drivers profiling (ring 0 level) OS context switches and threads synchronization issues Start the Analysis Advanced Hotspot Analysis Select level of data collected 54
55 Parallelism Methodology of performance profiling and tuning How to optimize the Hotspots? Maximize CPU utilization and minimize elapsed time Ensure CPU is busy all the time All Cores busy parallelism (high concurrency) Elapsed (Serial) Elapsed (N-threads) Elapsed (Serial) / N Serial T1 T2 T3 T4 4T optimal Potential Gain Gain Time Time Time 55
56 Intel VTune Amplifier XE Terminology Concurrency - Is a measurement of the number of active threads Thread1 Waiting Thread1 Thread2 Waiting Thread2 Concurrency Summary Thread3 Waiting Thread Thread running 1sec 1sec 1sec 1sec 1sec 1sec Thread waiting 56
57 Intel VTune Amplifier XE Parallelism/Concurrency Analysis For Parallelism / Concurrency analysis, Stack sampling is done just like in Hotspots analysis Wait functions are instrumented (e.g. WaitForSingleObject, EnterCriticalSection) Signal functions are instrumented (e.g. SetEvent, LeaveCriticalSection) I/O functions are instrumented (e.g. ReadFile, socket) Concurrency Analysis Start the Analysis 57
58 Concurrency Analysis Summary Concurrency Levels Adjustable Metrics 58
59 Concurrency Analysis Summary: Concurrency vs. CPU Usage Histogram Threads might be in active state, but not using CPU 11/26/
60 Concurrency View Concurrency Level Overhead Wait Thread is running Thread is waiting Thread Transitions Overhead 60
61 Concurrency Timeline Investigate reasons for transitions Select and Zoom Hover over a transition line 61
62 Source Code View by Concurrency Concurrency coloring for CPU Time against source lines 62
63 Waiting on locks Sync Object Sync Object Sync Object Signal Signal Signal Thread1 Waiting Thread1 Idle Thread2 Waiting Thread2 Idle Thread3 Waiting Thread3 Thread running 1sec 1sec 1sec 1sec 1sec 1sec Thread waiting Begin main thread Calculating Wait and Idle time End main thread 63
64 Intel VTune Amplifier XE Locks and Waits Analysis Identifies those threading items that are causing the most thread block time Synchronization locks Threading APIs I/O Start the Analysis Locks & Waits Analysis 64
65 Locks and Waits View Grouping by Sync Object Wait Objects CPU Utilization Waits # Spinning Stack for the wait object 65
66 Locks-and-Waits Source View Wait count Critical Section object Waiting time on the Critical Section 66
67 Intel VTune Amplifier XE User APIs User APIs Collection Control API Thread Naming API User-Defined Synchronization API Task API User Event API Frame API JIT Profiling API 67
68 Windows & Linux Versions Available Stand-alone GUI, Command line, Visual Studio Integration Microsoft Windows* OS Windows XP* 1, Windows 7*, Windows 8 Desktop* Windows Server* 2003, 2008 Microsoft Visual Studio* 2008, 2010 and 2012 Standalone GUI and command line IA32 and Intel 64 Linux* OS RHEL*, Fedora*, SUSE*, CentOS*, Ubuntu* Additional distributions may also work Standalone GUI and command line IA32 and Intel 64 Single user and floating licenses available 68
69 Intel VTune Amplifier XE Command Line Interface - Examples Display a list of available analysis types and preset configuration levels amplxe-cl collect-list Run Hot Spot analysis on target myapp and store result in default-named directory, such as r000hs amplxe-cl c hotspots -- myapp Run the Parallelism analysis, store the result in directory r001par amplxe-cl -c parallelism -result-dir r001par -- myapp 69
70 Intel VTune Amplifier XE Command Line Interface Gropof-like output 70
71
72 Legal Disclaimer & Optimization Notice INFORMATION IN THIS DOCUMENT IS PROVIDED AS IS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO THIS INFORMATION INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT. Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark and MobileMark, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Copyright, Intel Corporation. All rights reserved. Intel, the Intel logo, Xeon, Core, VTune, and Cilk are trademarks of Intel Corporation in the U.S. and other countries. Optimization Notice Intel s compilers may or may not optimize to the same degree for non-intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice. Notice revision #
Intel VTune Amplifier XE
Intel VTune Amplifier XE Vladimir Tsymbal Performance, Analysis and Threading Lab 1 Agenda Intel VTune Amplifier XE Overview Features Data collectors Analysis types Key Concepts Collecting performance
More informationPerformance Analysis using Intel VTune Amplifier XE
Performance Analysis using Intel VTune Amplifier XE Performance methodology profiling and tuning The Goal: minimize the time it takes your program / module / function to execute Identify Hotspots and focus
More informationUsing Intel VTune Amplifier XE and Inspector XE in.net environment
Using Intel VTune Amplifier XE and Inspector XE in.net environment Levent Akyil Technical Computing, Analyzers and Runtime Software and Services group 1 Refresher - Intel VTune Amplifier XE Intel Inspector
More informationPerformance Profiler. Klaus-Dieter Oertel Intel-SSG-DPD IT4I HPC Workshop, Ostrava,
Performance Profiler Klaus-Dieter Oertel Intel-SSG-DPD IT4I HPC Workshop, Ostrava, 08-09-2016 Faster, Scalable Code, Faster Intel VTune Amplifier Performance Profiler Get Faster Code Faster With Accurate
More informationAgenda. Optimization Notice Copyright 2017, Intel Corporation. All rights reserved. *Other names and brands may be claimed as the property of others.
Agenda VTune Amplifier XE OpenMP* Analysis: answering on customers questions about performance in the same language a program was written in Concepts, metrics and technology inside VTune Amplifier XE OpenMP
More informationIntel VTune Amplifier XE. Dr. Michael Klemm Software and Services Group Developer Relations Division
Intel VTune Amplifier XE Dr. Michael Klemm Software and Services Group Developer Relations Division Legal Disclaimer & Optimization Notice INFORMATION IN THIS DOCUMENT IS PROVIDED AS IS. NO LICENSE, EXPRESS
More informationIntel VTune Amplifier XE for Tuning of HPC Applications Intel Software Developer Conference Frankfurt, 2017 Klaus-Dieter Oertel, Intel
Intel VTune Amplifier XE for Tuning of HPC Applications Intel Software Developer Conference Frankfurt, 2017 Klaus-Dieter Oertel, Intel Agenda Which performance analysis tool should I use first? Intel Application
More informationSimplified and Effective Serial and Parallel Performance Optimization
HPC Code Modernization Workshop at LRZ Simplified and Effective Serial and Parallel Performance Optimization Performance tuning Using Intel VTune Performance Profiler Performance Tuning Methodology Goal:
More informationMicroarchitectural Analysis with Intel VTune Amplifier XE
Microarchitectural Analysis with Intel VTune Amplifier XE Michael Klemm Software & Services Group Developer Relations Division 1 Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION
More informationIntel Xeon Phi Coprocessor Performance Analysis
Intel Xeon Phi Coprocessor Performance Analysis Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO
More informationUsing Intel VTune Amplifier XE for High Performance Computing
Using Intel VTune Amplifier XE for High Performance Computing Vladimir Tsymbal Performance, Analysis and Threading Lab 1 The Majority of all HPC-Systems are Clusters Interconnect I/O I/O... I/O I/O Message
More informationIntel Advisor XE Future Release Threading Design & Prototyping Vectorization Assistant
Intel Advisor XE Future Release Threading Design & Prototyping Vectorization Assistant Parallel is the Path Forward Intel Xeon and Intel Xeon Phi Product Families are both going parallel Intel Xeon processor
More informationMunara Tolubaeva Technical Consulting Engineer. 3D XPoint is a trademark of Intel Corporation in the U.S. and/or other countries.
Munara Tolubaeva Technical Consulting Engineer 3D XPoint is a trademark of Intel Corporation in the U.S. and/or other countries. notices and disclaimers Intel technologies features and benefits depend
More informationTutorial: Analyzing MPI Applications. Intel Trace Analyzer and Collector Intel VTune Amplifier XE
Tutorial: Analyzing MPI Applications Intel Trace Analyzer and Collector Intel VTune Amplifier XE Contents Legal Information... 3 1. Overview... 4 1.1. Prerequisites... 5 1.1.1. Required Software... 5 1.1.2.
More informationVectorization Advisor: getting started
Vectorization Advisor: getting started Before you analyze Run GUI or Command Line Set-up environment Linux: source /advixe-vars.sh Windows: \advixe-vars.bat Run GUI or Command
More informationTools for Intel Xeon Phi: VTune & Advisor Dr. Fabio Baruffa - LRZ,
Tools for Intel Xeon Phi: VTune & Advisor Dr. Fabio Baruffa - fabio.baruffa@lrz.de LRZ, 27.6.- 29.6.2016 Architecture Overview Intel Xeon Processor Intel Xeon Phi Coprocessor, 1st generation Intel Xeon
More informationTutorial: Finding Hotspots with Intel VTune Amplifier - Linux* Intel VTune Amplifier Legal Information
Tutorial: Finding Hotspots with Intel VTune Amplifier - Linux* Intel VTune Amplifier Legal Information Tutorial: Finding Hotspots with Intel VTune Amplifier - Linux* Contents Legal Information... 3 Chapter
More informationWhat's new in VTune Amplifier XE
What's new in VTune Amplifier XE Naftaly Shalev Software and Services Group Developer Products Division 1 Agenda What s New? Using VTune Amplifier XE 2013 on Xeon Phi coprocessors New and Experimental
More informationAchieving High Performance. Jim Cownie Principal Engineer SSG/DPD/TCAR Multicore Challenge 2013
Achieving High Performance Jim Cownie Principal Engineer SSG/DPD/TCAR Multicore Challenge 2013 Does Instruction Set Matter? We find that ARM and x86 processors are simply engineering design points optimized
More informationMemory & Thread Debugger
Memory & Thread Debugger Here is What Will Be Covered Overview Memory/Thread analysis New Features Deep dive into debugger integrations Demo Call to action Intel Confidential 2 Analysis Tools for Diagnosis
More informationGraphics Performance Analyzer for Android
Graphics Performance Analyzer for Android 1 What you will learn from this slide deck Detailed optimization workflow of Graphics Performance Analyzer Android* System Analysis Only Please see subsequent
More informationBei Wang, Dmitry Prohorov and Carlos Rosales
Bei Wang, Dmitry Prohorov and Carlos Rosales Aspects of Application Performance What are the Aspects of Performance Intel Hardware Features Omni-Path Architecture MCDRAM 3D XPoint Many-core Xeon Phi AVX-512
More informationEfficiently Introduce Threading using Intel TBB
Introduction This guide will illustrate how to efficiently introduce threading using Intel Threading Building Blocks (Intel TBB), part of Intel Parallel Studio XE. It is a widely used, award-winning C++
More informationIntel VTune Amplifier XE Overview
Intel VTune Amplifier XE Overview June 2011 1 Intel Parallel Studio XE 2011 Phase Productivity Tool Feature Benefit Advanced Build & Debug Intel Composer XE C/C++ and Fortran compilers, performance libraries,and
More informationGetting Started with Intel SDK for OpenCL Applications
Getting Started with Intel SDK for OpenCL Applications Webinar #1 in the Three-part OpenCL Webinar Series July 11, 2012 Register Now for All Webinars in the Series Welcome to Getting Started with Intel
More informationJackson Marusarz Software Technical Consulting Engineer
Jackson Marusarz Software Technical Consulting Engineer What Will Be Covered Overview Memory/Thread analysis New Features Deep dive into debugger integrations Demo Call to action 2 Analysis Tools for Diagnosis
More informationIntel Software Development Products Licensing & Programs Channel EMEA
Intel Software Development Products Licensing & Programs Channel EMEA Intel Software Development Products Advanced Performance Distributed Performance Intel Software Development Products Foundation of
More informationWhat s New August 2015
What s New August 2015 Significant New Features New Directory Structure OpenMP* 4.1 Extensions C11 Standard Support More C++14 Standard Support Fortran 2008 Submodules and IMPURE ELEMENTAL Further C Interoperability
More informationH.J. Lu, Sunil K Pandey. Intel. November, 2018
H.J. Lu, Sunil K Pandey Intel November, 2018 Issues with Run-time Library on IA Memory, string and math functions in today s glibc are optimized for today s Intel processors: AVX/AVX2/AVX512 FMA It takes
More informationOpenMP * 4 Support in Clang * / LLVM * Andrey Bokhanko, Intel
OpenMP * 4 Support in Clang * / LLVM * Andrey Bokhanko, Intel Clang * : An Excellent C++ Compiler LLVM * : Collection of modular and reusable compiler and toolchain technologies Created by Chris Lattner
More informationKevin O Leary, Intel Technical Consulting Engineer
Kevin O Leary, Intel Technical Consulting Engineer Moore s Law Is Going Strong Hardware performance continues to grow exponentially We think we can continue Moore's Law for at least another 10 years."
More informationGetting Started Tutorial: Finding Hotspots
Getting Started Tutorial: Finding Hotspots Intel VTune Amplifier XE 2013 for Linux* OS Fortran Sample Application Code Document Number: 327359-001 Legal Information Contents Contents Legal Information...5
More informationGetting Started Tutorial: Finding Hotspots
Getting Started Tutorial: Finding Hotspots Intel VTune Amplifier XE 2013 for Windows* OS Fortran Sample Application Code Document Number: 327358-001 Legal Information Contents Contents Legal Information...5
More informationMore performance options
More performance options OpenCL, streaming media, and native coding options with INDE April 8, 2014 2014, Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Inside, Intel Xeon, and Intel
More informationAchieving Peak Performance on Intel Hardware. Intel Software Developer Conference London, 2017
Achieving Peak Performance on Intel Hardware Intel Software Developer Conference London, 2017 Welcome Aims for the day You understand some of the critical features of Intel processors and other hardware
More informationVisualizing and Finding Optimization Opportunities with Intel Advisor Roofline feature. Intel Software Developer Conference London, 2017
Visualizing and Finding Optimization Opportunities with Intel Advisor Roofline feature Intel Software Developer Conference London, 2017 Agenda Vectorization is becoming more and more important What is
More informationIntel tools for High Performance Python 데이터분석및기타기능을위한고성능 Python
Intel tools for High Performance Python 데이터분석및기타기능을위한고성능 Python Python Landscape Adoption of Python continues to grow among domain specialists and developers for its productivity benefits Challenge#1:
More informationBecca Paren Cluster Systems Engineer Software and Services Group. May 2017
Becca Paren Cluster Systems Engineer Software and Services Group May 2017 Clusters are complex systems! Challenge is to reduce this complexity barrier for: Cluster architects System administrators Application
More informationEliminate Threading Errors to Improve Program Stability
Introduction This guide will illustrate how the thread checking capabilities in Intel Parallel Studio XE can be used to find crucial threading defects early in the development cycle. It provides detailed
More informationStanislav Bratanov; Roman Belenov; Ludmila Pakhomova 4/27/2015
Stanislav Bratanov; Roman Belenov; Ludmila Pakhomova 4/27/2015 What is Intel Processor Trace? Intel Processor Trace (Intel PT) provides hardware a means to trace branching, transaction, and timing information
More informationIntel Cluster Checker 3.0 webinar
Intel Cluster Checker 3.0 webinar June 3, 2015 Christopher Heller Technical Consulting Engineer Q2, 2015 1 Introduction Intel Cluster Checker 3.0 is a systems tool for Linux high performance compute clusters
More informationEliminate Threading Errors to Improve Program Stability
Eliminate Threading Errors to Improve Program Stability This guide will illustrate how the thread checking capabilities in Parallel Studio can be used to find crucial threading defects early in the development
More informationLIBXSMM Library for small matrix multiplications. Intel High Performance and Throughput Computing (EMEA) Hans Pabst, March 12 th 2015
LIBXSMM Library for small matrix multiplications. Intel High Performance and Throughput Computing (EMEA) Hans Pabst, March 12 th 2015 Abstract Library for small matrix-matrix multiplications targeting
More informationIntel Parallel Studio XE 2015
2015 Create faster code faster with this comprehensive parallel software development suite. Faster code: Boost applications performance that scales on today s and next-gen processors Create code faster:
More informationAlexei Katranov. IWOCL '16, April 21, 2016, Vienna, Austria
Alexei Katranov IWOCL '16, April 21, 2016, Vienna, Austria Hardware: customization, integration, heterogeneity Intel Processor Graphics CPU CPU CPU CPU Multicore CPU + integrated units for graphics, media
More informationIntel VTune Performance Analyzer 9.1 for Windows* In-Depth
Intel VTune Performance Analyzer 9.1 for Windows* In-Depth Contents Deliver Faster Code...................................... 3 Optimize Multicore Performance...3 Highlights...............................................
More informationJackson Marusarz Intel Corporation
Jackson Marusarz Intel Corporation Intel VTune Amplifier Quick Introduction Get the Data You Need Hotspot (Statistical call tree), Call counts (Statistical) Thread Profiling Concurrency and Lock & Waits
More informationThis guide will show you how to use Intel Inspector XE to identify and fix resource leak errors in your programs before they start causing problems.
Introduction A resource leak refers to a type of resource consumption in which the program cannot release resources it has acquired. Typically the result of a bug, common resource issues, such as memory
More informationJim Cownie, Johnny Peyton with help from Nitya Hariharan and Doug Jacobsen
Jim Cownie, Johnny Peyton with help from Nitya Hariharan and Doug Jacobsen Features We Discuss Synchronization (lock) hints The nonmonotonic:dynamic schedule Both Were new in OpenMP 4.5 May have slipped
More informationWhat s P. Thierry
What s new@intel P. Thierry Principal Engineer, Intel Corp philippe.thierry@intel.com CPU trend Memory update Software Characterization in 30 mn 10 000 feet view CPU : Range of few TF/s and
More informationPerformance analysis tools: Intel VTuneTM Amplifier and Advisor. Dr. Luigi Iapichino
Performance analysis tools: Intel VTuneTM Amplifier and Advisor Dr. Luigi Iapichino luigi.iapichino@lrz.de Which tool do I use in my project? A roadmap to optimisation After having considered the MPI layer,
More informationA Simple Path to Parallelism with Intel Cilk Plus
Introduction This introductory tutorial describes how to use Intel Cilk Plus to simplify making taking advantage of vectorization and threading parallelism in your code. It provides a brief description
More informationCode modernization and optimization for improved performance using the OpenMP* programming model for threading and SIMD parallelism.
Code modernization and optimization for improved performance using the OpenMP* programming model for threading and SIMD parallelism. Parallel + SIMD is the Path Forward Intel Xeon and Intel Xeon Phi Product
More informationCrosstalk between VMs. Alexander Komarov, Application Engineer Software and Services Group Developer Relations Division EMEA
Crosstalk between VMs Alexander Komarov, Application Engineer Software and Services Group Developer Relations Division EMEA 2 September 2015 Legal Disclaimer & Optimization Notice INFORMATION IN THIS DOCUMENT
More informationUsing the Intel VTune Amplifier 2013 on Embedded Platforms
Using the Intel VTune Amplifier 2013 on Embedded Platforms Introduction This guide explains the usage of the Intel VTune Amplifier for performance and power analysis on embedded devices. Overview VTune
More informationEliminate Memory Errors to Improve Program Stability
Introduction INTEL PARALLEL STUDIO XE EVALUATION GUIDE This guide will illustrate how Intel Parallel Studio XE memory checking capabilities can find crucial memory defects early in the development cycle.
More informationMikhail Dvorskiy, Jim Cownie, Alexey Kukanov
Mikhail Dvorskiy, Jim Cownie, Alexey Kukanov What is the Parallel STL? C++17 C++ Next An extension of the C++ Standard Template Library algorithms with the execution policy argument Support for parallel
More informationBitonic Sorting. Intel SDK for OpenCL* Applications Sample Documentation. Copyright Intel Corporation. All Rights Reserved
Intel SDK for OpenCL* Applications Sample Documentation Copyright 2010 2012 Intel Corporation All Rights Reserved Document Number: 325262-002US Revision: 1.3 World Wide Web: http://www.intel.com Document
More informationIntel Xeon Phi Coprocessor. Technical Resources. Intel Xeon Phi Coprocessor Workshop Pawsey Centre & CSIRO, Aug Intel Xeon Phi Coprocessor
Technical Resources Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPETY RIGHTS
More informationKlaus-Dieter Oertel, May 28 th 2013 Software and Services Group Intel Corporation
S c i c o m P 2 0 1 3 T u t o r i a l Intel Xeon Phi Product Family Programming Tools Klaus-Dieter Oertel, May 28 th 2013 Software and Services Group Intel Corporation Agenda Intel Parallel Studio XE 2013
More informationBitonic Sorting Intel OpenCL SDK Sample Documentation
Intel OpenCL SDK Sample Documentation Document Number: 325262-002US Legal Information INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL
More informationIntel Parallel Studio XE 2011 for Windows* Installation Guide and Release Notes
Intel Parallel Studio XE 2011 for Windows* Installation Guide and Release Notes Document number: 323803-001US 4 May 2011 Table of Contents 1 Introduction... 1 1.1 What s New... 2 1.2 Product Contents...
More informationInstallation Guide and Release Notes
Intel Parallel Studio XE 2013 for Linux* Installation Guide and Release Notes Document number: 323804-003US 10 March 2013 Table of Contents 1 Introduction... 1 1.1 What s New... 1 1.1.1 Changes since Intel
More informationVisualizing and Finding Optimization Opportunities with Intel Advisor Roofline feature
Visualizing and Finding Optimization Opportunities with Intel Advisor Roofline feature Intel Software Developer Conference Frankfurt, 2017 Klaus-Dieter Oertel, Intel Agenda Intel Advisor for vectorization
More informationIntel Advisor XE. Vectorization Optimization. Optimization Notice
Intel Advisor XE Vectorization Optimization 1 Performance is a Proven Game Changer It is driving disruptive change in multiple industries Protecting buildings from extreme events Sophisticated mechanics
More informationOverview of Intel Parallel Studio XE
Overview of Intel Parallel Studio XE Stephen Blair-Chappell 1 30-second pitch Intel Parallel Studio XE 2011 Advanced Application Performance What Is It? Suite of tools to develop high performing, robust
More informationSoftware Optimization Case Study. Yu-Ping Zhao
Software Optimization Case Study Yu-Ping Zhao Yuping.zhao@intel.com Agenda RELION Background RELION ITAC and VTUE Analyze RELION Auto-Refine Workload Optimization RELION 2D Classification Workload Optimization
More informationMICHAL MROZEK ZBIGNIEW ZDANOWICZ
MICHAL MROZEK ZBIGNIEW ZDANOWICZ Legal Notices and Disclaimers INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY
More informationGetting Started Tutorial: Finding Hotspots
Getting Started Tutorial: Finding Hotspots Intel VTune Amplifier XE 2013 for Linux* OS C++ Sample Application Code Document Number: 326705-002 Legal Information Contents Contents Legal Information...5
More informationExpressing and Analyzing Dependencies in your C++ Application
Expressing and Analyzing Dependencies in your C++ Application Pablo Reble, Software Engineer Developer Products Division Software and Services Group, Intel Agenda TBB and Flow Graph extensions Composable
More informationIXPUG 16. Dmitry Durnov, Intel MPI team
IXPUG 16 Dmitry Durnov, Intel MPI team Agenda - Intel MPI 2017 Beta U1 product availability - New features overview - Competitive results - Useful links - Q/A 2 Intel MPI 2017 Beta U1 is available! Key
More informationUsing Intel Transactional Synchronization Extensions
Using Intel Transactional Synchronization Extensions Dr.-Ing. Michael Klemm Software and Services Group michael.klemm@intel.com 1 Credits The Tutorial Gang Christian Terboven Michael Klemm Ruud van der
More informationIFS RAPS14 benchmark on 2 nd generation Intel Xeon Phi processor
IFS RAPS14 benchmark on 2 nd generation Intel Xeon Phi processor D.Sc. Mikko Byckling 17th Workshop on High Performance Computing in Meteorology October 24 th 2016, Reading, UK Legal Disclaimer & Optimization
More informationGet an Easy Performance Boost Even with Unthreaded Apps. with Intel Parallel Studio XE for Windows*
Get an Easy Performance Boost Even with Unthreaded Apps for Windows* Can recompiling just one file make a difference? Yes, in many cases it can! Often, you can achieve a major performance boost by recompiling
More informationEliminate Memory Errors to Improve Program Stability
Eliminate Memory Errors to Improve Program Stability This guide will illustrate how Parallel Studio memory checking capabilities can find crucial memory defects early in the development cycle. It provides
More informationGuy Blank Intel Corporation, Israel March 27-28, 2017 European LLVM Developers Meeting Saarland Informatics Campus, Saarbrücken, Germany
Guy Blank Intel Corporation, Israel March 27-28, 2017 European LLVM Developers Meeting Saarland Informatics Campus, Saarbrücken, Germany Motivation C AVX2 AVX512 New instructions utilized! Scalar performance
More informationParallel Programming Features in the Fortran Standard. Steve Lionel 12/4/2012
Parallel Programming Features in the Fortran Standard Steve Lionel 12/4/2012 Agenda Overview of popular parallelism methodologies FORALL a look back DO CONCURRENT Coarrays Fortran 2015 Q+A 12/5/2012 2
More informationIntel Many Integrated Core (MIC) Architecture
Intel Many Integrated Core (MIC) Architecture Karl Solchenbach Director European Exascale Labs BMW2011, November 3, 2011 1 Notice and Disclaimers Notice: This document contains information on products
More informationCollecting OpenCL*-related Metrics with Intel Graphics Performance Analyzers
Collecting OpenCL*-related Metrics with Intel Graphics Performance Analyzers Collecting Important OpenCL*-related Metrics with Intel GPA System Analyzer Introduction Intel SDK for OpenCL* Applications
More informationTuning Python Applications Can Dramatically Increase Performance
Tuning Python Applications Can Dramatically Increase Performance Vasilij Litvinov Software Engineer, Intel Legal Disclaimer & 2 INFORMATION IN THIS DOCUMENT IS PROVIDED AS IS. NO LICENSE, EXPRESS OR IMPLIED,
More informationIntel Parallel Studio XE 2015 Composer Edition for Linux* Installation Guide and Release Notes
Intel Parallel Studio XE 2015 Composer Edition for Linux* Installation Guide and Release Notes 23 October 2014 Table of Contents 1 Introduction... 1 1.1 Product Contents... 2 1.2 Intel Debugger (IDB) is
More informationUsing Intel Inspector XE 2011 with Fortran Applications
Using Intel Inspector XE 2011 with Fortran Applications Jackson Marusarz Intel Corporation Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS
More informationIntel profiling tools and roofline model. Dr. Luigi Iapichino
Intel profiling tools and roofline model Dr. Luigi Iapichino luigi.iapichino@lrz.de Which tool do I use in my project? A roadmap to optimization (and to the next hour) We will focus on tools developed
More informationKNL tools. Dr. Fabio Baruffa
KNL tools Dr. Fabio Baruffa fabio.baruffa@lrz.de 2 Which tool do I use? A roadmap to optimization We will focus on tools developed by Intel, available to users of the LRZ systems. Again, we will skip the
More informationProfiling: Understand Your Application
Profiling: Understand Your Application Michal Merta michal.merta@vsb.cz 1st of March 2018 Agenda Hardware events based sampling Some fundamental bottlenecks Overview of profiling tools perf tools Intel
More informationReal World Development examples of systems / iot
Real World Development examples of systems / iot Intel Software Developer Conference Seoul 2017 Jon Kim Software Consulting Engineer Contents IOT end-to-end Scalability with Intel x86 Architect Real World
More informationIntel Parallel Amplifier Sample Code Guide
The analyzes the performance of your application and provides information on the performance bottlenecks in your code. It enables you to focus your tuning efforts on the most critical sections of your
More informationObtaining the Last Values of Conditionally Assigned Privates
Obtaining the Last Values of Conditionally Assigned Privates Hideki Saito, Serge Preis*, Aleksei Cherkasov, Xinmin Tian Intel Corporation (* at submission time) 2016/10/04 OpenMPCon2016 Legal Disclaimer
More informationInstallation Guide and Release Notes
Intel C++ Studio XE 2013 for Windows* Installation Guide and Release Notes Document number: 323805-003US 26 June 2013 Table of Contents 1 Introduction... 1 1.1 What s New... 2 1.1.1 Changes since Intel
More informationMaximize Performance and Scalability of RADIOSS* Structural Analysis Software on Intel Xeon Processor E7 v2 Family-Based Platforms
Maximize Performance and Scalability of RADIOSS* Structural Analysis Software on Family-Based Platforms Executive Summary Complex simulations of structural and systems performance, such as car crash simulations,
More informationTutorial: Finding Hotspots on an Android* Platform
Tutorial: Finding Hotspots on an Android* Platform Intel VTune Amplifier for Systems (Linux* OS version) C++ Sample Application Code Legal Information Important This document was last updated for the Intel
More informationDiego Caballero and Vectorizer Team, Intel Corporation. April 16 th, 2018 Euro LLVM Developers Meeting. Bristol, UK.
Diego Caballero and Vectorizer Team, Intel Corporation. April 16 th, 2018 Euro LLVM Developers Meeting. Bristol, UK. Legal Disclaimer & Software and workloads used in performance tests may have been optimized
More informationIntel Parallel Studio XE 2011 SP1 for Linux* Installation Guide and Release Notes
Intel Parallel Studio XE 2011 SP1 for Linux* Installation Guide and Release Notes Document number: 323804-002US 21 June 2012 Table of Contents 1 Introduction... 1 1.1 What s New... 1 1.2 Product Contents...
More informationIntel Threading Tools
Intel Threading Tools Paul Petersen, Intel -1- INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. EXCEPT AS PROVIDED IN INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS,
More informationSarah Knepper. Intel Math Kernel Library (Intel MKL) 25 May 2018, iwapt 2018
Sarah Knepper Intel Math Kernel Library (Intel MKL) 25 May 2018, iwapt 2018 Outline Motivation Problem statement and solutions Simple example Performance comparison 2 Motivation Partial differential equations
More informationSergey Maidanov. Software Engineering Manager for Intel Distribution for Python*
Sergey Maidanov Software Engineering Manager for Intel Distribution for Python* Introduction Python is among the most popular programming languages Especially for prototyping But very limited use in production
More informationПовышение энергоэффективности мобильных приложений путем их распараллеливания. Примеры. Владимир Полин
Повышение энергоэффективности мобильных приложений путем их распараллеливания. Примеры. Владимир Полин Legal Notices This presentation is for informational purposes only. INTEL MAKES NO WARRANTIES, EXPRESS
More informationIntel Atom Processor Based Platform Technologies. Intelligent Systems Group Intel Corporation
Intel Atom Processor Based Platform Technologies Intelligent Systems Group Intel Corporation Legal Disclaimer INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS
More informationSayantan Sur, Intel. SEA Symposium on Overlapping Computation and Communication. April 4 th, 2018
Sayantan Sur, Intel SEA Symposium on Overlapping Computation and Communication April 4 th, 2018 Legal Disclaimer & Benchmark results were obtained prior to implementation of recent software patches and
More informationContributors: Surabhi Jain, Gengbin Zheng, Maria Garzaran, Jim Cownie, Taru Doodi, and Terry L. Wilmarth
Presenter: Surabhi Jain Contributors: Surabhi Jain, Gengbin Zheng, Maria Garzaran, Jim Cownie, Taru Doodi, and Terry L. Wilmarth May 25, 2018 ROME workshop (in conjunction with IPDPS 2018), Vancouver,
More information