HPC Software Debugger and Performance Tools
|
|
|
- Malcolm Porter
- 10 years ago
- Views:
Transcription
1 Mitglied der Helmholtz-Gemeinschaft HPC Software Debugger and Performance Tools November 2015 Michael Knobloch
2 Outline Local module setup Compilers* Libraries* Make it work, make it right, make it fast. Kent Beck Debugger: TotalView DDT STAT MUST Performance Tools: Score-P Scalasca Vampir HPCToolkit Performance Reports TAU mpip Extrae/Paraver PAPI M. Knobloch SC Introduction, November
3 Mitglied der Helmholtz-Gemeinschaft Module setup & compiler
4 The Module Setup Tools are available through modules Allows to easily manage different versions of programs Works by dynamic modification of a user's environment JUQUEEN: Module setup based on UNITE Tools only visible after a module load UNITE User has to take care of dependencies JURECA: Module setup based on EasyBuild and lmod Staged, hierarchical setup Automatically manages dependencies via toolchains M. Knobloch SC Introduction, November
5 Most Important Module Commands module spider # lmod only: show all products spider product # lmod only: show product details avail # show all available products list # list loaded products load product(s) # setup access to product unload product(s) # release access swap product1 product2 # replace v1 of product with v2 whatis product(s) # print short description help product(s) # print longer description show product(s) # show what settings are performed M. Knobloch SC Introduction, November
6 Compiler and MPI libraries JUQUEEN IBM XL C/C++ and Fortran compiler GNU C/C++ and Fortran compiler Clang C/C++ compiler IBM MPI JURECA Intel C/C++ and Fortran compiler GNU C/C++ and Fortran compiler Intel MPI Parastation MPI M. Knobloch SC Introduction, November
7 Mitglied der Helmholtz-Gemeinschaft Debuggers
8 Debugging Tools (status: November 2015) JUQUEEN JURECA Debugging TotalView debugger DDT debugger STAT ( ) MUST MPI verification tool M. Knobloch SC Introduction, November
9 Parallel Debugger UNIX Symbolic Debugger for C, C++, F77, F90, PGI HPF, assembler programs Standard debugger Special, non-traditional features Multi-process and multi-threaded C++ support (templates, inheritance, inline functions) F90 support (user types, pointers, modules) 1D + 2D Array Data visualization Support for parallel debugging (MPI: automatic attach, message queues, OpenMP, pthreads) Scripting and batch debugging Memory Debugging NOTE: License limited to 2048 processes (shared between all users) M. Knobloch SC Introduction, November
10 TotalView: Main Window Stack trace Break points Toolbar for common options Local variables for selected stack frame Source code window M. Knobloch SC Introduction, November
11 TotalView: Tools Menu Call Graph Data visualization Message queue graph M. Knobloch SC Introduction, November
12 DDT Parallel Debugger UNIX Graphical Debugger for C, C++, F77, F90 programs Modern, easy-to-use debugger Special, non-traditional features Multi-process and multi-threaded 1D + 2D array data visualization Support for MPI parallel debugging (automatic attach, message queues) Support for OpenMP (Version 2.x and later) Job submission from within debugger NOTE: License limited to 32 processes (shared between all users) M. Knobloch SC Introduction, November
13 DDT: Main Window Process controls Process groups Source code Variables Expression evaluator Stack trace M. Knobloch SC Introduction, November
14 DDT: Non-standard Features Message queue graph Multi- Dimensional Array Viewer Memory Usage M. Knobloch SC Introduction, November
15 STAT: Stack Trace Analysis Tool Very lightweight helper tool Shows merged call tree of whole program Useful to detect deadlocks Pinpoint individual problems Tailored for large-scale systems Scales to millions of processes NOT a real/full debugger M. Knobloch SC Introduction, November
16 STAT: Main Window M. Knobloch SC Introduction, November
17 STAT: Zoom M. Knobloch SC Introduction, November
18 STAT: Equivalence Classes M. Knobloch SC Introduction, November
19 STAT: Equivalence Classes (cont.) M. Knobloch SC Introduction, November
20 MUST Next generation MPI correctness and portability checker MUST reports Errors: violations of the MPI-standard Warnings: unusual behavior or possible problems Notes: harmless but remarkable behavior Further: potential deadlock detection Usage Relink application with mustc, mustcxx, mustf90, Run application under the control of mustrun (requires one additional MPI process) See MUST_Output.html report M. Knobloch SC Introduction, November
21 MUST Datatype Mismatch M. Knobloch SC Introduction, November
22 MUST Deadlock Detection M. Knobloch SC Introduction, November
23 Mitglied der Helmholtz-Gemeinschaft Performance Analysis Tools
24 Typical Performance Analysis Procedure Do I have a performance problem at all? Time / speedup / scalability measurements What is the key bottleneck (computation / communication)? MPI / OpenMP / flat profiling Where is the key bottleneck? Call-path profiling, detailed basic block profiling Why is it there? Hardware counter analysis Trace selected parts (to keep trace size manageable) Does the code have scalability problems? Load imbalance analysis, compare profiles at various sizes function-by-function, performance modeling M. Knobloch SC Introduction, November
25 Remark: No Single Solution is Sufficient! A combination of different methods, tools and techniques is typically needed! Analysis Statistics, visualization, automatic analysis, data mining,... Measurement Sampling / instrumentation, profiling / tracing,... Instrumentation Source code / binary, manual / automatic,... M. Knobloch SC Introduction, November
26 Critical Issues Accuracy Intrusion overhead Measurement itself needs time and thus lowers performance Perturbation Measurement alters program behavior, e.g., memory access pattern Might prevent compiler optimization, e.g. function inlining Accuracy of timers & counters Granularity How many measurements? How much information / processing during each measurement? Tradeoff: Accuracy vs. Expressiveness of data M. Knobloch SC Introduction, November
27 Performance Tools (status: November 2015) JUQUEEN JURECA Performance Tools Score-P measurement system Scalasca2 performance analyzer Vampir[Server] trace visualizer HPCToolkit sampling profiler ( ) Allinea Performance Reports TAU performance system mpip MPI profiling library* Extrae/Paraver tracing tool* ( ) PAPI hardware counter library* M. Knobloch SC Introduction, November
28 Score-P Community instrumentation and measurement infrastructure Developed by a consortium of performance tool groups Next generation measurement system of Scalasca 2.x Vampir TAU Periscope Common data formats improve tool interoperability M. Knobloch SC Introduction, November
29 Collection of trace-based performance analysis tools Specifically designed for large-scale systems Unique features: Scalable, automated search for event patterns representing inefficient behavior Scalable identification of the critical execution path Delay / root-cause analysis Based on Score-P for instrumentation and measurement Includes convenience / post-processing commands providing added value M. Knobloch SC Introduction, November
30 What is the Key Bottleneck? Generate flat MPI profile using Score-P/Scalasca (or mpip) Only requires re-linking Low runtime overhead Provides detailed information on MPI usage How much time is spent in which operation? How often is each operation called? How much data was transferred? Limitations: Computation on non-master threads and outside of MPI_Init/MPI_Finalize scope ignored M. Knobloch SC Introduction, November
31 Flat MPI Profile: Recipe 1. Prefix your link command with scorep --nocompiler 2. Prefix your MPI launch command with scalasca -analyze 3. After execution, examine analysis results using scalasca -examine scorep_<title> M. Knobloch SC Introduction, November
32 Flat MPI Profile: Example % module load UNITE scorep scalasca % mpixlf90 -O3 -qsmp=omp -c foo.f90 % mpixlf90 -O3 -qsmp=omp -c bar.f90 % scorep --nocompiler \ mpixlf90 -O3 qsmp=omp -o myprog foo.o bar.o ########################## ## In the job script: ## ########################## module load UNITE scalasca scalasca -analyze \ runjob --ranks-per-node P --np n [...] --exe./myprog ########################## ## After job finished: ## ########################## % scalasca -examine scorep_myprog_ppnxt_sum M. Knobloch SC Introduction, November
33 Flat MPI Profile: Example (cont.) Aggregate execution time on master threads Time spent in a particular MPI call Time spent in selected call as percentage of total time M. Knobloch SC Introduction, November
34 Where is the Key Bottleneck? Generate call-path profile using Score-P/Scalasca Requires re-compilation Runtime overhead depends on application characteristics Typically needs some care setting up a good measurement configuration Filtering Selective instrumentation Option 1 (recommended): Automatic compiler-based instrumentation Option 2: Manual instrumentation of interesting phases, routines, loops M. Knobloch SC Introduction, November
35 Call-path Profile: Recipe 1. Prefix your compile & link commands with scorep 2. Prefix your MPI launch command with scalasca -analyze 3. After execution, compare overall runtime with uninstrumented run to determine overhead 4. If overhead is too high 1. Score measurement using scalasca -examine -s scorep_<title> 2. Prepare filter file 3. Re-run measurement with filter applied using prefix scalasca analyze f <filter_file> 5. After execution, examine analysis results using scalasca -examine scorep_<title> M. Knobloch SC Introduction, November
36 Call-path Profile: Example % module load UNITE scorep scalasca % scorep mpixlf90 -O3 -qsmp=omp -c foo.f90 % scorep mpixlf90 -O3 -qsmp=omp -c bar.f90 % scorep \ mpixlf90 -O3 qsmp=omp -o myprog foo.o bar.o ########################## ## In the job script: ## ########################## module load UNITE scalasca scalasca -analyze \ runjob --ranks-per-node P --np n [...] --exe./myprog M. Knobloch SC Introduction, November
37 Call-path Profile: Example (cont.) % scalasca -examine -s epik_myprog_ppnxt_sum scorep-score -r./epik_myprog_ppnxt_sum/profile.cubex INFO: Score report written to./scorep_myprog_ppnxt_sum/scorep.score Estimates trace buffer requirements Allows to identify canditate functions for filtering Computational routines with high visit count and low time-per-visit ratio Region/call-path classification MPI (pure MPI library functions) OMP (pure OpenMP functions/regions) USR (user-level source local computation COM ( combined USR + OpeMP/MPI) ANY/ALL (aggregate of all region types) USR COM COM USR OMP MPI USR USR M. Knobloch SC Introduction, November
38 Call-path Profile: Example (cont.) % less scorep_myprog_ppnxt_sum/scorep.score Estimated aggregate size of event trace: 162GB Estimated requirements for largest trace buffer (max_buf): 2758MB Estimated memory requirements (SCOREP_TOTAL_MEMORY): 2822MB (hint: When tracing set SCOREP_TOTAL_MEMORY=2822MB to avoid intermediate flushes or reduce requirements using USR regions filters.) flt type max_buf[b] visits time[s] time[%] time/ region visit[us] ALL 2,891,417,902 6,662,521, ALL USR 2,858,189,854 6,574,882, USR OMP 54,327,600 86,353, OMP MPI 676, , MPI COM 371, , COM USR 921,918,660 2,110,313, matmul_sub USR 921,918,660 2,110,313, binvcrhs USR 921,918,660 2,110,313, matvec_sub USR 41,071,134 87,475, lhsinit USR 41,071,134 87,475, binvrhs USR 29,194,256 68,892, exact_solution OMP 3,280,320 3,293, !$omp parallel [...] M. Knobloch SC Introduction, November
39 Call-path Profile: Filtering In this example, the 6 most fequently called routines are of type USR These routines contribute around 35% of total time However, much of that is most likely measurement overhead Frequently executed Time-per-visit ratio in the order of a few microseconds Avoid measurements to reduce the overhead List routines to be filtered in simple text file M. Knobloch SC Introduction, November
40 Filtering: Example % cat filter.txt SCOREP_REGION_NAMES_BEGIN EXCLUDE binvcrhs matmul_sub matvec_sub binvrhs lhsinit exact_solution SCOREP_REGION_NAMES_END Score-P filtering files support Wildcards (shell globs) Blacklisting Whitelisting Filtering based on filenames M. Knobloch SC Introduction, November
41 Call-path Profile: Example (cont.) ## To verify effect of filter: % scalasca -examine -s -f filter.txt \ scorep_myprog_ppnxt_sum ########################## ## In the job script: ## ########################## module load UNITE scalasca scalasca -analyze -f filter.txt \ runjob --ranks-per-node P --np n [...] --exe./myprog ########################## ## After job finished: ## ########################## % scalasca -examine scorep_myprog_ppnxt_sum M. Knobloch SC Introduction, November
42 Call-path Profile: Example (cont.) M. Knobloch SC Introduction, November
43 Call-path Profile: Example (cont.) Box plot view shows distribution across processes/threads Distribution of selected metric across call tree When expanding, value changes from inclusive to exclusive Selection updates columns to the right M. Knobloch SC Introduction, November
44 Call-path Profile: Example (cont.) Split base metrics into more specific metrics M. Knobloch SC Introduction, November
45 Score-P: Advanced Features Measurement can be extensively configured via environment variables Check output of scorep-info config-vars for details Allows for targeted measurements: Selective recording Phase profiling Parameter-based profiling Please ask us or see the user manual for details M. Knobloch SC Introduction, November
46 Why is the Bottleneck There? This is highly application dependent! Might require additional measurements Hardware-counter analysis CPU utilization Cache behavior Selective instrumentation Manual/automatic event trace analysis M. Knobloch SC Introduction, November
47 HW Counter Measurements w/ Score-P Score-P supports both PAPI preset and native counters Available counters: papi_avail or papi_native_avail % module load UNITE papi/5.0.1 % less $PAPI_ROOT/doc/papi avail.txt % less $PAPI_ROOT/doc/papi native_avail.txt % less $PAPI_ROOT/doc/papi avail-detail.txt Specify using SCOREP_METRIC_PAPI environment variable ########################## ## In the job script: ## ########################## module load UNITE scalasca export SCOREP_METRIC_PAPI= PAPI_FP_OPS,PAPI_TOT_CYC scalasca -analyze -f filter.txt \ runjob --ranks-per-node P --np n [...] --exe./myprog M. Knobloch SC Introduction, November
48 Property Automatic Trace Analysis w/ Scalasca Idea: Automatic search for patterns of inefficient behavior Identification of wait states and their root causes Classification of behavior & quantification of significance Scalable identification of the critical execution path Low-level event trace Analysis High-level result Call path Location Advantages Guaranteed to cover the entire event trace Quicker than manual/visual trace analysis Helps to identify hot-spots for in-depth manual analysis M. Knobloch SC Introduction, November
49 Trace Generation & Analysis w/ Scalasca Enable trace collection & analysis using -t option of scalasca -analyze : ########################## ## In the job script: ## ########################## module load UNITE scalasca export SCOREP_TOTAL_MEMORY=120MB # Consult score report scalasca -analyze -f filter.txt -t \ runjob --ranks-per-node P --np n [...] --exe./myprog ATTENTION: Traces can quickly become extremely large! Remember to use proper filtering, selective instrumentation, and Score-P memory specification Before flooding the file system, ask us for assistance! M. Knobloch SC Introduction, November
50 Scalasca Trace Analysis Example Additional wait-state metrics from the trace analysis Delay / root-cause metrics Critical-path profile M. Knobloch SC Introduction, November
51 Vampir Event Trace Visualizer Offline trace visualization for Score-P s OTF2 trace files Visualization of MPI, OpenMP and application events: All diagrams highly customizable (through context menus) Large variety of displays for ANY part of the trace Advantage: Detailed view of dynamic application behavior Disadvantage: Requires event traces (huge amount of data) Completely manual analysis M. Knobloch SC Introduction, November
52 Vampir Displays M. Knobloch SC Introduction, November
53 Vampir: Timeline Diagram Functions organized into groups Coloring by group Message lines can be colored by tag or size Information about states, messages, collective and I/O operations available through clicking on the representation M. Knobloch SC Introduction, November
54 Vampir: Process and Counter Timelines Process timeline show call stack nesting Counter timelines for hardware and software counters M. Knobloch SC Introduction, November
55 Vampir: Execution Statistics Aggregated profiling information: execution time, number of calls, inclusive/exclusive Available for all / any group (activity) or all routines (symbols) Available for any part of the trace selectable through time line diagram M. Knobloch SC Introduction, November
56 Vampir: Process Summary Execution statistics over all processes for comparison Clustering mode available for large process counts M. Knobloch SC Introduction, November
57 Vampir: Communication Statistics Byte and message count, min/max/avg message length and min/max/avg bandwidth for each process pair Message length statistics Available for any part of the trace M. Knobloch SC Introduction, November
58 (Rice University) Multi-platform sampling-based call-path profiler Works on unmodified, optimized executables Advantages: Overhead can be easily controlled via sampling interval Advantageous for complex C++ codes with many small functions Loop-level analysis (sometimes even individual source lines) Supports POSIX threads Disadvantages: Statistical approach that might miss details MPI/OpenMP time displayed as low-level system calls M. Knobloch SC Introduction, November
59 HPCToolkit: Metric Specification Specified via environment variable HPCRUN_EVENT_LIST General format: Possible sample sources: WALLCLOCK PAPI counters IO MEMLEAK (use w/o interval spec) (use w/o interval spec) Interval: given in microseconds E.g., samples per second M. Knobloch SC Introduction, November
60 Example: hpcviewer associated source code Callpath to hotspot M. Knobloch SC Introduction, November
61 Allinea Performance Reports Single page report provides quick overview of performance issues Works on unmodified, optimized executables Shows CPU, memory, network and I/O utilization Supports MPI, multi-threading and accelerators Saves data in HTML, CVS or text form Note: License limited to 512 processes (with unlimited number of threads) M. Knobloch SC Introduction, November
62 Example Performance Reports M. Knobloch SC Introduction, November
63 TAU Very portable tool set for instrumentation, measurement and analysis of parallel multi-threaded applications Supports Various profiling modes and tracing Various forms of code instrumentation C, C++, Fortran, Java, Python MPI, multi-threading (OpenMP, Pthreads, ) Accelerators M. Knobloch SC Introduction, November
64 TAU: Instrumentation Flexible instrumentation mechanisms at multiple levels Source code manual automatic C, C++, F77/90/95 (Program Database Toolkit (PDT)) OpenMP (directive rewriting with Opari) Object code pre-instrumented libraries (e.g., MPI using PMPI) statically-linked and dynamically-loaded (e.g., Python) Executable code dynamic instrumentation (pre-execution) (DynInst) virtual machine instrumentation (e.g., Java using JVMPI) Support for performance mapping Support for object-oriented and generic programming M. Knobloch SC Introduction, November
65 TAU: Basic Profile View M. Knobloch SC Introduction, November
66 TAU: Callgraph Profile View Box width and color indicate different metrics M. Knobloch SC Introduction, November
67 TAU: 3D Profile View Height and color indicate different metrics M. Knobloch SC Introduction, November
68 Documentation To check latest status and versions JUQUEEN: use module avail JURECA: use module spider Websites User Info Parallel Debugging ( ) Parallel Performance Analysis ( ) Performance Tools LiveDVD image Links to tool websites and documentation Tutorial slides M. Knobloch SC Introduction, November
69 Support For general support: Tool-specific support via corresponding mailing lists Score-P: Scalasca: Workshops and Trainings: Regular VI-HPS Tuning Workshops Several days Multiple tools, e.g. Score-P, Scalasca, Vampir, TAU, Bring-your-own-code JUQUEEN Porting and Tuning Workshop Series WS s and trainings at several HPC conferences M. Knobloch SC Introduction, November
70 Mitglied der Helmholtz-Gemeinschaft Appendix Tool recipes for JUQUEEN
71 STAT: Recipe Compile and link your program with debug option: -g Load modules % ssh -X user@juqueen [...] juqueen% module load UNITE stat UNITE loaded stat/2.1 loaded juqueen% STATGUI Submit job and attach to it from GUI CAVEAT: Job needs to be started by login node where GUI is running Add the following entry to the submission script #@ requirements = (Machine == juqueen<n> ) with <n> being the login node id M. Knobloch SC Introduction, November
72 STAT: Attaching to a Job M. Knobloch SC Introduction, November
73 TotalView: Recipe for JUQUEEN Compile and link your program with debug option: -g Use absolute paths for source code info: -qfullpath In case of optimized codes (XL), keep function call parameters: qkeepparm Load modules % ssh -X user@juqueen [...] juqueen% module load UNITE totalview UNITE loaded totalview/ mrnet loaded juqueen% mpixlcxx hello.cpp -qfullpath -qkeepparm -g -o helloworld juqueen% M. Knobloch SC Introduction, November
74 TotalView: Interactive Startup Interactively: call the lltv script Creates a LoadLeveler batch script with required TotalView parameters If user cancels the script, it cancels the debugging job (does not eat your computing quota) NOTE: License limited to 2048 MPI ranks (shared between all users) Attaching to subset is recommended M. Knobloch SC Introduction, November
75 TotalView: lltv Launch Script % lltv -n <nodes> : -default_parallel_attach_subset=\ <rank-range> runjob -a --exe <program> -p <num> Starts <program> with <nodes> and <num> processes per node, attaches to <rank-range>: Rank: that rank only RankX-RankZ: all ranks, both inclusive RankX-RankZ:stride every strideth between RankX and RankZ Example: % lltv -n 2 : -default_parallel_attach_subset=\ 2-6 runjob -a --exe helloworld -p 64 Creating LoadLeveler Job Submitting LoadLeveler Interactive Job for Totalview Wait for job juqueen1c to be started:... M. Knobloch SC Introduction, November
76 TotalView: Execution Recipe TotalView tries to debug runjob and shows no source code Ignore it and press GO After some seconds, TotalView will detect parallel execution and ask if it should stop. Yes, it should stop. To find the correct point file/function to debug, use the File-Open command. Set your breakpoints, and press GO again. Debugging session will then start. To see a variable s contents, double click on it in the source. M. Knobloch SC Introduction, November
77 Vampir: Recipe (JUQUEEN) 1. module load UNITE vampirserver 2. Start Vampir server component (on frontend) using vampirserver start smp Check output for port and pid 3. Connect to server from remote machine (see next slide) and analyze the trace 4. vampirserver stop <pid> See above (2.) M. Knobloch SC Introduction, November
78 Vampir: Recipe (local system) 1. Open SSH tunnel to JUQUEEN using ssh -L30000:localhost:<port> juqueen<n> 2. Start Vampir client component For example: /usr/local/zam/unite/bin/vampir 3. Select 1. Open other 2. Remote file 3. Connect (keep defaults) 4. File traces.otf2 from Score-P trace measurement directory M. Knobloch SC Introduction, November
79 HPCToolkit: Recipe 1. Compile your code with -g -qnoipa For MPI, also make sure your application calls MPI_Comm_rank first on MPI_COMM_WORLD 2. Prefix your link command with hpclink Ignore potential linker warnings ;-) 3. Run your application as usual, specifying requested metrics with sampling intervals in environment variable HPCRUN_EVENT_LIST 4. Perform static binary analysis with hpcstruct --loop-fwd-subst=no <app> 5. Combine measurements with hpcprof S <struct file> \ -I <path_to_src>/* <measurement_dir> 6. View results with hpcviewer <hpct_database> M. Knobloch SC Introduction, November
80 TAU: Recipe 1. Load TAU module# once per session module load UNITE tau 1. Specify programming model by setting TAU_MAKEFILE to one of $TAU_MF_DIR/Makefile.tau-* 2. Compile and link with tau_cc.sh file.c... tau_cxx.sh file.cxx... tau_f90.sh file.f Execute with real input data Environment variables control measurement mode TAU_PROFILE, TAU_TRACE, TAU_CALLPATH, 4. Examine results with paraprof M. Knobloch SC Introduction, November
Application Performance Analysis Tools and Techniques
Mitglied der Helmholtz-Gemeinschaft Application Performance Analysis Tools and Techniques 2012-06-27 Christian Rössel Jülich Supercomputing Centre [email protected] EU-US HPC Summer School Dublin
End-user Tools for Application Performance Analysis Using Hardware Counters
1 End-user Tools for Application Performance Analysis Using Hardware Counters K. London, J. Dongarra, S. Moore, P. Mucci, K. Seymour, T. Spencer Abstract One purpose of the end-user tools described in
Debugging with TotalView
Tim Cramer 17.03.2015 IT Center der RWTH Aachen University Why to use a Debugger? If your program goes haywire, you may... ( wand (... buy a magic... read the source code again and again and...... enrich
Debugging and Profiling Lab. Carlos Rosales, Kent Milfeld and Yaakoub Y. El Kharma [email protected]
Debugging and Profiling Lab Carlos Rosales, Kent Milfeld and Yaakoub Y. El Kharma [email protected] Setup Login to Ranger: - ssh -X [email protected] Make sure you can export graphics
How To Visualize Performance Data In A Computer Program
Performance Visualization Tools 1 Performance Visualization Tools Lecture Outline : Following Topics will be discussed Characteristics of Performance Visualization technique Commercial and Public Domain
Parallel Debugging with DDT
Parallel Debugging with DDT Nate Woody 3/10/2009 www.cac.cornell.edu 1 Debugging Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece
Advanced MPI. Hybrid programming, profiling and debugging of MPI applications. Hristo Iliev RZ. Rechen- und Kommunikationszentrum (RZ)
Advanced MPI Hybrid programming, profiling and debugging of MPI applications Hristo Iliev RZ Rechen- und Kommunikationszentrum (RZ) Agenda Halos (ghost cells) Hybrid programming Profiling of MPI applications
Performance Analysis and Optimization Tool
Performance Analysis and Optimization Tool Andres S. CHARIF-RUBIAL [email protected] Performance Analysis Team, University of Versailles http://www.maqao.org Introduction Performance Analysis Develop
Linux tools for debugging and profiling MPI codes
Competence in High Performance Computing Linux tools for debugging and profiling MPI codes Werner Krotz-Vogel, Pallas GmbH MRCCS September 02000 Pallas GmbH Hermülheimer Straße 10 D-50321
Performance Analysis for GPU Accelerated Applications
Center for Information Services and High Performance Computing (ZIH) Performance Analysis for GPU Accelerated Applications Working Together for more Insight Willersbau, Room A218 Tel. +49 351-463 - 39871
Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment
Integrating TAU With Eclipse: A Performance Analysis System in an Integrated Development Environment Wyatt Spear, Allen Malony, Alan Morris, Sameer Shende {wspear, malony, amorris, sameer}@cs.uoregon.edu
-------- Overview --------
------------------------------------------------------------------- Intel(R) Trace Analyzer and Collector 9.1 Update 1 for Windows* OS Release Notes -------------------------------------------------------------------
Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005
Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005 Compute Cluster Server Lab 3: Debugging the parallel MPI programs in Microsoft Visual Studio 2005... 1
CRESTA DPI OpenMPI 1.1 - Performance Optimisation and Analysis
Version Date Comments, Changes, Status Authors, contributors, reviewers 0.1 24/08/2012 First full version of the deliverable Jens Doleschal (TUD) 0.1 03/09/2012 Review Ben Hall (UCL) 0.1 13/09/2012 Review
Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda
Objectives At the completion of this module, you will be able to: Understand the intended purpose and usage models supported by the VTune Performance Analyzer. Identify hotspots by drilling down through
HPC Wales Skills Academy Course Catalogue 2015
HPC Wales Skills Academy Course Catalogue 2015 Overview The HPC Wales Skills Academy provides a variety of courses and workshops aimed at building skills in High Performance Computing (HPC). Our courses
Analysis report examination with CUBE
Analysis report examination with CUBE Brian Wylie Jülich Supercomputing Centre CUBE Parallel program analysis report exploration tools Libraries for XML report reading & writing Algebra utilities for report
MAQAO Performance Analysis and Optimization Tool
MAQAO Performance Analysis and Optimization Tool Andres S. CHARIF-RUBIAL [email protected] Performance Evaluation Team, University of Versailles S-Q-Y http://www.maqao.org VI-HPS 18 th Grenoble 18/22
Debugging in Heterogeneous Environments with TotalView. ECMWF HPC Workshop 30 th October 2014
Debugging in Heterogeneous Environments with TotalView ECMWF HPC Workshop 30 th October 2014 Agenda Introduction Challenges TotalView overview Advanced features Current work and future plans 2014 Rogue
RA MPI Compilers Debuggers Profiling. March 25, 2009
RA MPI Compilers Debuggers Profiling March 25, 2009 Examples and Slides To download examples on RA 1. mkdir class 2. cd class 3. wget http://geco.mines.edu/workshop/class2/examples/examples.tgz 4. tar
Using the Windows Cluster
Using the Windows Cluster Christian Terboven [email protected] aachen.de Center for Computing and Communication RWTH Aachen University Windows HPC 2008 (II) September 17, RWTH Aachen Agenda o Windows Cluster
Optimization tools. 1) Improving Overall I/O
Optimization tools After your code is compiled, debugged, and capable of running to completion or planned termination, you can begin looking for ways in which to improve execution speed. In general, the
Load Imbalance Analysis
With CrayPat Load Imbalance Analysis Imbalance time is a metric based on execution time and is dependent on the type of activity: User functions Imbalance time = Maximum time Average time Synchronization
Mitglied der Helmholtz-Gemeinschaft. System monitoring with LLview and the Parallel Tools Platform
Mitglied der Helmholtz-Gemeinschaft System monitoring with LLview and the Parallel Tools Platform November 25, 2014 Carsten Karbach Content 1 LLview 2 Parallel Tools Platform (PTP) 3 Latest features 4
Review of Performance Analysis Tools for MPI Parallel Programs
Review of Performance Analysis Tools for MPI Parallel Programs Shirley Moore, David Cronk, Kevin London, and Jack Dongarra Computer Science Department, University of Tennessee Knoxville, TN 37996-3450,
Chapter 3 Operating-System Structures
Contents 1. Introduction 2. Computer-System Structures 3. Operating-System Structures 4. Processes 5. Threads 6. CPU Scheduling 7. Process Synchronization 8. Deadlocks 9. Memory Management 10. Virtual
JUROPA Linux Cluster An Overview. 19 May 2014 Ulrich Detert
Mitglied der Helmholtz-Gemeinschaft JUROPA Linux Cluster An Overview 19 May 2014 Ulrich Detert JuRoPA JuRoPA Jülich Research on Petaflop Architectures Bull, Sun, ParTec, Intel, Mellanox, Novell, FZJ JUROPA
Part I Courses Syllabus
Part I Courses Syllabus This document provides detailed information about the basic courses of the MHPC first part activities. The list of courses is the following 1.1 Scientific Programming Environment
Building Applications Using Micro Focus COBOL
Building Applications Using Micro Focus COBOL Abstract If you look through the Micro Focus COBOL documentation, you will see many different executable file types referenced: int, gnt, exe, dll and others.
Improving Time to Solution with Automated Performance Analysis
Improving Time to Solution with Automated Performance Analysis Shirley Moore, Felix Wolf, and Jack Dongarra Innovative Computing Laboratory University of Tennessee {shirley,fwolf,dongarra}@cs.utk.edu Bernd
VX Search File Search Solution. VX Search FILE SEARCH SOLUTION. User Manual. Version 8.2. Jan 2016. www.vxsearch.com [email protected]. Flexense Ltd.
VX Search FILE SEARCH SOLUTION User Manual Version 8.2 Jan 2016 www.vxsearch.com [email protected] 1 1 Product Overview...4 2 VX Search Product Versions...8 3 Using Desktop Product Versions...9 3.1 Product
Introduction to Running Computations on the High Performance Clusters at the Center for Computational Research
! Introduction to Running Computations on the High Performance Clusters at the Center for Computational Research! Cynthia Cornelius! Center for Computational Research University at Buffalo, SUNY! cdc at
Running a Workflow on a PowerCenter Grid
Running a Workflow on a PowerCenter Grid 2010-2014 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)
Application Performance Analysis Tools and Techniques
Mitglied der Helmholtz-Gemeinschaft Application Performance Analysis Tools and Techniques 2011-07-15 Jülich Supercomputing Centre [email protected] Performance analysis: an old problem The most constant
SysPatrol - Server Security Monitor
SysPatrol Server Security Monitor User Manual Version 2.2 Sep 2013 www.flexense.com www.syspatrol.com 1 Product Overview SysPatrol is a server security monitoring solution allowing one to monitor one or
WebSphere Business Monitor
WebSphere Business Monitor Debugger 2010 IBM Corporation This presentation provides an overview of the monitor model debugger in WebSphere Business Monitor. WBPM_Monitor_Debugger.ppt Page 1 of 23 Goals
Libmonitor: A Tool for First-Party Monitoring
Libmonitor: A Tool for First-Party Monitoring Mark W. Krentel Dept. of Computer Science Rice University 6100 Main St., Houston, TX 77005 [email protected] ABSTRACT Libmonitor is a library that provides
Chapter 2 System Structures
Chapter 2 System Structures Operating-System Structures Goals: Provide a way to understand an operating systems Services Interface System Components The type of system desired is the basis for choices
MPI / ClusterTools Update and Plans
HPC Technical Training Seminar July 7, 2008 October 26, 2007 2 nd HLRS Parallel Tools Workshop Sun HPC ClusterTools 7+: A Binary Distribution of Open MPI MPI / ClusterTools Update and Plans Len Wisniewski
Introduction to Linux and Cluster Basics for the CCR General Computing Cluster
Introduction to Linux and Cluster Basics for the CCR General Computing Cluster Cynthia Cornelius Center for Computational Research University at Buffalo, SUNY 701 Ellicott St Buffalo, NY 14203 Phone: 716-881-8959
PTC System Monitor Solution Training
PTC System Monitor Solution Training Patrick Kulenkamp June 2012 Agenda What is PTC System Monitor (PSM)? How does it work? Terminology PSM Configuration The PTC Integrity Implementation Drilling Down
Parallel Computing using MATLAB Distributed Compute Server ZORRO HPC
Parallel Computing using MATLAB Distributed Compute Server ZORRO HPC Goals of the session Overview of parallel MATLAB Why parallel MATLAB? Multiprocessing in MATLAB Parallel MATLAB using the Parallel Computing
How to Use Open SpeedShop BGP and Cray XT/XE
How to Use Open SpeedShop BGP and Cray XT/XE ASC Booth Presentation @ SC 2010 New Orleans, LA 1 Why Open SpeedShop? Open Source Performance Analysis Tool Framework Most common performance analysis steps
DiskBoss. File & Disk Manager. Version 2.0. Dec 2011. Flexense Ltd. www.flexense.com [email protected]. File Integrity Monitor
DiskBoss File & Disk Manager File Integrity Monitor Version 2.0 Dec 2011 www.flexense.com [email protected] 1 Product Overview DiskBoss is an automated, rule-based file and disk manager allowing one to
GPU Tools Sandra Wienke
Sandra Wienke Center for Computing and Communication, RWTH Aachen University MATSE HPC Battle 2012/13 Rechen- und Kommunikationszentrum (RZ) Agenda IDE Eclipse Debugging (CUDA) TotalView Profiling (CUDA
Performance Tools for Parallel Java Environments
Performance Tools for Parallel Java Environments Sameer Shende and Allen D. Malony Department of Computer and Information Science, University of Oregon {sameer,malony}@cs.uoregon.edu http://www.cs.uoregon.edu/research/paracomp/tau
The Complete Performance Solution for Microsoft SQL Server
The Complete Performance Solution for Microsoft SQL Server Powerful SSAS Performance Dashboard Innovative Workload and Bottleneck Profiling Capture of all Heavy MDX, XMLA and DMX Aggregation, Partition,
Parallel Processing using the LOTUS cluster
Parallel Processing using the LOTUS cluster Alison Pamment / Cristina del Cano Novales JASMIN/CEMS Workshop February 2015 Overview Parallelising data analysis LOTUS HPC Cluster Job submission on LOTUS
Monitoring, Tracing, Debugging (Under Construction)
Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.
Eliminate Memory Errors and Improve Program Stability
Eliminate Memory Errors and Improve Program Stability with Intel Parallel Studio XE Can running one simple tool make a difference? Yes, in many cases. You can find errors that cause complex, intermittent
NetBeans Profiler is an
NetBeans Profiler Exploring the NetBeans Profiler From Installation to a Practical Profiling Example* Gregg Sporar* NetBeans Profiler is an optional feature of the NetBeans IDE. It is a powerful tool that
Parallel I/O on JUQUEEN
Parallel I/O on JUQUEEN 3. February 2015 3rd JUQUEEN Porting and Tuning Workshop Sebastian Lührs, Kay Thust [email protected], [email protected] Jülich Supercomputing Centre Overview Blue Gene/Q
Tool - 1: Health Center
Tool - 1: Health Center Joseph Amrith Raj http://facebook.com/webspherelibrary 2 Tool - 1: Health Center Table of Contents WebSphere Application Server Troubleshooting... Error! Bookmark not defined. About
Developing Parallel Applications with the Eclipse Parallel Tools Platform
Developing Parallel Applications with the Eclipse Parallel Tools Platform Greg Watson IBM STG [email protected] Parallel Tools Platform Enabling Parallel Application Development Best practice tools for experienced
Session 2: MUST. Correctness Checking
Center for Information Services and High Performance Computing (ZIH) Session 2: MUST Correctness Checking Dr. Matthias S. Müller (RWTH Aachen University) Tobias Hilbrich (Technische Universität Dresden)
Getting Started with CodeXL
AMD Developer Tools Team Advanced Micro Devices, Inc. Table of Contents Introduction... 2 Install CodeXL... 2 Validate CodeXL installation... 3 CodeXL help... 5 Run the Teapot Sample project... 5 Basic
Introduction to HPC Workshop. Center for e-research ([email protected])
Center for e-research ([email protected]) Outline 1 About Us About CER and NeSI The CS Team Our Facilities 2 Key Concepts What is a Cluster Parallel Programming Shared Memory Distributed Memory 3 Using
Allinea Forge User Guide. Version 6.0.1
Allinea Forge User Guide Version 6.0.1 Contents Contents 1 I Allinea Forge 11 1 Introduction 11 1.1 Allinea DDT........................................ 11 1.2 Allinea MAP........................................
Best practices for efficient HPC performance with large models
Best practices for efficient HPC performance with large models Dr. Hößl Bernhard, CADFEM (Austria) GmbH PRACE Autumn School 2013 - Industry Oriented HPC Simulations, September 21-27, University of Ljubljana,
- An Essential Building Block for Stable and Reliable Compute Clusters
Ferdinand Geier ParTec Cluster Competence Center GmbH, V. 1.4, March 2005 Cluster Middleware - An Essential Building Block for Stable and Reliable Compute Clusters Contents: Compute Clusters a Real Alternative
Trace-Based and Sample-Based Profiling in Rational Application Developer
Trace-Based and Sample-Based Profiling in Rational Application Developer This document is aimed at highlighting the importance of profiling in software development and talks about the profiling tools offered
Streamline Computing Linux Cluster User Training. ( Nottingham University)
1 Streamline Computing Linux Cluster User Training ( Nottingham University) 3 User Training Agenda System Overview System Access Description of Cluster Environment Code Development Job Schedulers Running
INTEL PARALLEL STUDIO XE EVALUATION GUIDE
Introduction This guide will illustrate how you use Intel Parallel Studio XE to find the hotspots (areas that are taking a lot of time) in your application and then recompiling those parts to improve overall
Hands-on exercise (FX10 pi): NPB-MZ-MPI / BT
Hands-on exercise (FX10 pi): NPB-MZ-MPI / BT VI-HPS Team 14th VI-HPS Tuning Workshop, 25-27 March 2014, RIKEN AICS, Kobe, Japan 1 Tutorial exercise objectives Familiarise with usage of VI-HPS tools complementary
System Structures. Services Interface Structure
System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface
UNISOL SysAdmin. SysAdmin helps systems administrators manage their UNIX systems and networks more effectively.
1. UNISOL SysAdmin Overview SysAdmin helps systems administrators manage their UNIX systems and networks more effectively. SysAdmin is a comprehensive system administration package which provides a secure
FileNet System Manager Dashboard Help
FileNet System Manager Dashboard Help Release 3.5.0 June 2005 FileNet is a registered trademark of FileNet Corporation. All other products and brand names are trademarks or registered trademarks of their
NASA Workflow Tool. User Guide. September 29, 2010
NASA Workflow Tool User Guide September 29, 2010 NASA Workflow Tool User Guide 1. Overview 2. Getting Started Preparing the Environment 3. Using the NED Client Common Terminology Workflow Configuration
Enterprise Manager Performance Tips
Enterprise Manager Performance Tips + The tips below are related to common situations customers experience when their Enterprise Manager(s) are not performing consistent with performance goals. If you
WebSphere Business Monitor
WebSphere Business Monitor Dashboards 2010 IBM Corporation This presentation should provide an overview of the dashboard widgets for use with WebSphere Business Monitor. WBPM_Monitor_Dashboards.ppt Page
HPCToolkit User s Manual
HPCToolkit User s Manual John Mellor-Crummey Laksono Adhianto, Mike Fagan, Mark Krentel, Nathan Tallent Rice University For HPCToolkit 5.3.2 (Revision : 4673) April 1, 2015 Contents 1 Introduction 1 2
Performance Monitoring of Parallel Scientific Applications
Performance Monitoring of Parallel Scientific Applications Abstract. David Skinner National Energy Research Scientific Computing Center Lawrence Berkeley National Laboratory This paper introduces an infrastructure
Using NeSI HPC Resources. NeSI Computational Science Team ([email protected])
NeSI Computational Science Team ([email protected]) Outline 1 About Us About NeSI Our Facilities 2 Using the Cluster Suitable Work What to expect Parallel speedup Data Getting to the Login Node 3 Submitting
DiskPulse DISK CHANGE MONITOR
DiskPulse DISK CHANGE MONITOR User Manual Version 7.9 Oct 2015 www.diskpulse.com [email protected] 1 1 DiskPulse Overview...3 2 DiskPulse Product Versions...5 3 Using Desktop Product Version...6 3.1 Product
How To Monitor Performance On A Microsoft Powerbook (Powerbook) On A Network (Powerbus) On An Uniden (Powergen) With A Microsatellite) On The Microsonde (Powerstation) On Your Computer (Power
A Topology-Aware Performance Monitoring Tool for Shared Resource Management in Multicore Systems TADaaM Team - Nicolas Denoyelle - Brice Goglin - Emmanuel Jeannot August 24, 2015 1. Context/Motivations
The Asterope compute cluster
The Asterope compute cluster ÅA has a small cluster named asterope.abo.fi with 8 compute nodes Each node has 2 Intel Xeon X5650 processors (6-core) with a total of 24 GB RAM 2 NVIDIA Tesla M2050 GPGPU
Memory Debugging with TotalView on AIX and Linux/Power
S cico m P Austin Aug 2004 Memory Debugging with TotalView on AIX and Linux/Power Chris Gottbrath Memory Debugging in AIX and Linux-Power Clusters Intro: Define the problem and terms What are Memory bugs?
Report on Project: Advanced System Monitoring for the Parallel Tools Platform (PTP)
Mitglied der Helmholtz-Gemeinschaft Report on Project: Advanced System Monitoring for the Parallel Tools Platform (PTP) September, 2014 Wolfgang Frings and Carsten Karbach Project progress Server caching
RTOS Debugger for ecos
RTOS Debugger for ecos TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents... RTOS Debugger... RTOS Debugger for ecos... 1 Overview... 2 Brief Overview of Documents for New Users... 3
Also on the Performance tab, you will find a button labeled Resource Monitor. You can invoke Resource Monitor for additional analysis of the system.
1348 CHAPTER 33 Logging and Debugging Monitoring Performance The Performance tab enables you to view the CPU and physical memory usage in graphical form. This information is especially useful when you
Windows HPC 2008 Cluster Launch
Windows HPC 2008 Cluster Launch Regionales Rechenzentrum Erlangen (RRZE) Johannes Habich [email protected] Launch overview Small presentation and basic introduction Questions and answers Hands-On
Experiences with Tools at NERSC
Experiences with Tools at NERSC Richard Gerber NERSC User Services Programming weather, climate, and earth- system models on heterogeneous mul>- core pla?orms September 7, 2011 at the Na>onal Center for
An Introduction to LoadRunner A Powerful Performance Testing Tool by HP. An Introduction to LoadRunner. A Powerful Performance Testing Tool by HP
An Introduction to LoadRunner A Powerful Performance Testing Tool by HP Index Sr. Title Page 1 Introduction 2 2 LoadRunner Testing Process 4 3 Load test Planning 5 4 LoadRunner Controller at a Glance 7
SLURM Workload Manager
SLURM Workload Manager What is SLURM? SLURM (Simple Linux Utility for Resource Management) is the native scheduler software that runs on ASTI's HPC cluster. Free and open-source job scheduler for the Linux
Server Manager Performance Monitor. Server Manager Diagnostics Page. . Information. . Audit Success. . Audit Failure
Server Manager Diagnostics Page 653. Information. Audit Success. Audit Failure The view shows the total number of events in the last hour, 24 hours, 7 days, and the total. Each of these nodes can be expanded
