Performance Evaluation using TAU

Performance Evaluation using TAU

Introduction to the TAU Performance System Winter Workshop 2012 at Argonne National Laboratory, ALCF, Bldg. 240,# 1416, Jan 23, 2012, 2pm -3:00pm, Argonne, IL Sameer Shende [email protected] http://www.paratools.com/anl12 Acknowledgements: U. Oregon, ParaTools, Inc. Dr. Allen D. Malony, Professor, CIS Dept, and Director, NeuroInformatics Center, and CEO, ParaTools, Inc. Dr. Kevin Huck, Computer Scientist, ParaTools, Inc. Dr. John Linford, Computer Scientist, ParaTools, Inc. Dr. Chee Wai Lee, Senior software engineer, UO Wyatt Spear, Software engineer, UO, ParaTools, Inc. Suzanne Millstein, Software engineer, UO

Scott Biersdorff, Software engineer, UO Nick Chaimov, Ph.D. student, UO William Voorhees, Ph.D. student, UO Dr. Robert Yelle, Research faculty, UO What is TAU? TAU is a performance evaluation tool It supports parallel profiling and tracing toolkit Profiling shows you how much (total) time was spent in each routine Tracing shows you when the events take place in each process along a timeline Profiling and tracing can measure time as well as hardware performance counters from your CPU TAU can automatically instrument your source code (routines, loops, I/O, memory, phases, etc.) It supports C++, C, Chapel, UPC, Fortran, Python and Java

TAU runs on all HPC platforms and it is free (BSD style license) TAU has instrumentation, measurement and analysis tools To use TAU, you need to set a couple of environment variables and substitute the name of the compiler with a TAU shell script TAU Performance System TAU Architecture Integrated toolkit for performance problem solving Instrumentation, measurement, analysis, visualization Portable performance profiling and tracing facility Performance data management and data mining

Based on direct performance measurement approach Open source Available on all HPC platforms http://tau.uoregon.edu Performance Evaluation Profiling Presents summary statistics of performance metrics number of times a routine was invoked exclusive, inclusive time/hpm counts spent executing it number of instrumented child routines invoked, etc. structure of invocations (calltrees/callgraphs) memory, message communication sizes also tracked

Tracing Presents when and where events took place along a global timeline timestamped log of events message communication events (sends/receives) are tracked shows when and where messages were sent large volume of performance data generated leads to more perturbation in the program TAU Performance Profiling Performance with respect to nested event regions Program execution event stack (begin/end events) Profiling measures inclusive and exclusive data

Exclusive measurements for region only performance Inclusive measurements includes nested child regions Support multiple profiling types Flat, callpath, and phase profiling TAU Performance System Architecture TAU Performance System Architecture Program Database Toolkit (PDT) Application / Library

C / C++ parser IL C / C++ IL analyzer Program Database Files Fortran parser F77/90/95 IL Fortran IL analyzer

DUCTAPE PDBhtml Program documentation SILOON Application component glue CHASM C++ / F90/95 interoperability

tau_instrumentor Automatic sourc instrumentation Automatic Source-Level Instrumentation in TAU TAU source analyzer Application source Parsed program tau_instrumentor

Instrumentation specification file Instrumented source Using TAU: A brief Introduction TAU supports several measurement options (profiling, tracing, profiling with hardware counters, etc.) Each measurement configuration of TAU corresponds to a unique stub makefile that is generated when you configure it To instrument source code using PDT Choose an appropriate TAU stub makefile in /lib: % soft add +tau-latest (on BG/P)

% export TAU_MAKEFILE=/soft/apps/tau/tau_latest/bgp/lib/Makefile.tau-bgptimers-mpi-pdt % export TAU_OPTIONS=-optVerbose (see tau_compiler.sh -help) And use tau_f90.sh, tau_cxx.sh or tau_cc.sh as Fortran, C++ or C compilers: % mpixlf90_r foo.f90 changes to % tau_f90.sh foo.f90 % qsub A <> ./a.out (to submit the job) Execute application and analyze performance data: % pprof (for text based profile display) % paraprof (for GUI) 11

TAU Measurement Configuration % cd /soft/apps/tau/tau_latest/bgp/lib; ls Makefile.* Makefile.tau-pdt Makefile.tau-mpi-pdt Makefile.tau-bgptimers-mpi-pdt Makefile.tau-opari-openmp-mpi-pdt Makefile.tau-mpi-scalasca-epilog-pdt Makefile.tau-mpi-papi-pdt Makefile.tau-papi-mpi-openmp-opari-pdt Makefile.tau-pthread-pdt For an MPI+F90 application, you may want to start with: Makefile.tau-mpi-pdt Supports MPI instrumentation & PDT for automatic source instrumentation

% export TAU_MAKEFILE= /soft/apps/tau/tau_latest/bgp/lib/Makefile.tau-mpi-bgptimers-pdt % make CC=tau_cc.sh CXX=tau_cxx.sh F90=tau_f90.sh % qsub ./a.out 12 Parallel Profile Visualization: ParaProf % soft add +tau-latest % paraprof (Windows -> 3D Visualization) ParaProf: 3D Communication Matrix % qsub env TAU_COMM_MATRIX=1 % paraprof (Windows -> 3D Communication Matrix)

Interval, Atomic and Context Events in TAU Interval Event Context Event % pprof Atomic Event Jumpshot [ANL]: Trace Visualization % % % %

qsub env TAU_TRACE=1 tau_treemerge.pl tau2slog2 tau.trc tau.edf o app.slog2 jumpshot app.slog2 Acknowledgements Department of Energy Office of Science Argonne National Laboratory ORNL NNSA/ASC Trilabs (SNL, LLNL, LANL)

HPCMP DoD PET Program National Science Foundation University of Tennessee Shirley Moore Daniel Terpstra University of Oregon Allen D. Malony, Chee Wai Lee W. Spear, S. Biersdorff TU Dresden

Holger Brunst, Andreas Knupfer Wolfgang Nagel Research Centre Juelich, Germany Bernd Mohr Felix Wolf 17

Recently Viewed Presentations

  • Economic Policymaking

    Economic Policymaking

    Economic Policy (Republic View) Supply-side economics is a school of macroeconomics that argues that economic growth can be most effectively created by lowering barriers for people to produce (supply) goods and services as well as invest in capital.
  • Lecture 2 - HCC Learning Web

    Lecture 2 - HCC Learning Web

    A pictorial sketch works best when communicating design concepts with other engineers. When communicating technical details to a technician, a multi-view (orthographic) sketch would be the appropriate choice.
  • Facilitating Student Dialogue

    Facilitating Student Dialogue

    Susan Crosson - Santa Fe Community College [email protected] Andy Williams - Edmonds Community College [email protected] Communication with Students "Why don't they get it?" "If they would just follow the instructions…." "Can't they read?" "Why are they taking an online class,...
  • Urinary Tract Trauma - Middlesex County Vocational and ...

    Urinary Tract Trauma - Middlesex County Vocational and ...

    Prostate-specific antigen (PSA) Osmolality. Kidney-ureter-bladder radiography (KUB) Intravenous pyelogram (IVP) Retrograde pyelography. Voiding cystourethrography. When attempting to diagnose a disorder of the urinary system, the first line of testing involves the urine. The urine provides clues into many disorders.
  • Permission to this presentation is currently restricted. This ...

    Permission to this presentation is currently restricted. This ...

    Dante Gabriel RossettiThe Blessed Damozel (1875-78) ... Edward Burne-JonesKing Cophetua and the Beggar Maid (1884) Edward Burne-JonesPygmalion & the Image:The Hand Refrains (1868-78) Frederick SandysMorgan le Fay (1864) Fredric LeightonThe Fisherman and the Siren (1856-58)
  • Lesson 1: Introduction to Chapter 7

    Lesson 1: Introduction to Chapter 7

    Des centaines de milliers d'immigrants - venus d'Europe, de la Grande-Bretagne, de la Russie, de la Pologne et de l'Ukraine. Invention à l'horizon: le téléphone, le radio sans fil, l'automobile, l'avion et le cinéma. Les femmes et les Premières Nations...
  • Anti-Anginal Agents  Angina Disease, symptoms  Types of Anti-anginal

    Anti-Anginal Agents Angina Disease, symptoms Types of Anti-anginal

    Shelf life is a concern. Pharmacokinetics of Nitrate Esters 330 20 Pentaerythritol tetranitrate 180 15 Erythrityl tetranitrate Active 60 3 Isosorbide dinitrate 30 2 Nitroglycerin 1 0.25 Amyl nitrite Metabolites Duration of Action (min) Onset (min) Nitrate esters act fast!...
  • Shirley Jackson&#x27;s &quot;The Lottery&quot; August 11, 2014

    Shirley Jackson's "The Lottery" August 11, 2014

    I can analyze "The Lottery" by using the 5 elements chart. I can determine theme in "The Lottery" I can demonstrate an understanding of how irony is used in "The Lottery". I can analyze the use of symbolism in "The...