# Presentation: 879232

## TAU Performance System

**PERI-DB Demo, SC’07**
- 2:30pm, Wednesday
**Kevin A. Huck**
- khuck@cs.uoregon.edu
**http://tau.uoregon.edu**
- Performance Research Laboratory
- University of Oregon

***TAU Performance System***

## Visit us at

- Allen D. Malony, Professor
- Sameer S. Shende, Senior Research Associate
- Alan Morris, Senior software engineer
- Wyatt Spear, Software engineer
- Scott Biersdorff, Software engineer
- Matt Sottile, Research faculty
- Rob Yelle, Research faculty
- Aroon Nataraj, Ph.D. student
- Shangkar Myangalam, Ph.D. student
- Brad Davidson, Systems administrator

- booth #1617

## TAU Parallel Performance System

***TAU Parallel Performance System***

**http://tau.uoregon.edu/**
- Multi-level performance instrumentation
- Multi-language automatic source instrumentation
- Flexible and configurable performance measurement
- Widely-ported parallel performance profiling system
- Computer system architectures and operating systems
- Different programming languages and compilers
- Support for multiple parallel programming paradigms
- Multi-threading, message passing, mixed-mode, hybrid

## What is TAU?

- Portable, profiling and tracing toolkit
- Open Source (BSD style) license
- Automatic source level instrumentation (PDT, Opari [FZJ])‏
- Routine, and loop level
- Instrumentation optimization (TAU_THROTTLE)‏
- Measurement
- Callpath, phase, parameter based profiling
- PAPI [UTK] support in profiling and tracing
- One or more native, preset events
- Analysis tools
- Parallel profile analysis (ParaProf)‏
- Performance data management (PerfDMF database)‏
- Performance data mining (PerfExplorer)‏
- Kernel monitoring and KTAU

## PerfDMF

_**Perf**_ormance _**D**_ata _**M**_anagement _**F**_ramework
- Provides *profile* data management
- Database support: MySQL, PostgreSQL, Derby, Oracle, DB2
- Parsers/Importers: TAU, Dynaprof, mpiP, gprof, psrun (PerfSuite), HPCToolkit (Rice), HPC Toolkit (IBM), CUBE (KOJAK), OpenSpeedShop (PERI-XML), ompP application timers
- Profile query and analysis API
- Export to PERI XML schema

## Loading Metadata into PerfDMF

- Three ways to incorporate metadata into PerfDMF
- TAU runtime gathers available basic information about the hardware
- CPU speed, memory in GB, MPI node Ids, etc.
- TAU_METADATA() instrumentation call gives application developer or analyst ability to insert any name/value pair into the metadata
- Application parameters, input data, domain decomposition
- PerfDMF data management tools can incorporate an XML file of additional metadata
- Compiler flags, runtime environment, submission scripts, input files, etc.
- Metadata can be imported from / exported to PERI-DB

## Metadata into PerfDMF

- Profile Data

- Profile Data

***Metadata into PerfDMF***

- Profile Data

- Auto-collected metadata

- User-specified metadata

- metadata.xml

- Build metadata

- Runtime metadata

- Submission metadata

- PerfDMF

- Other metadata

- 1

- 2

- 3

- Performance measurements

## Analysis Tools: ParaProf, PerfExplorer

- ParaProf
- In-depth analysis of parallel profile data
- Data visualization – summary and per-thread
- Callgraph display of profiles
- 3D visualizations of performance data
- Management of PerfDMF data
- PerfExplorer
- Framework for systematic, collaborative and reusable parallel performance analysis
**Large scale performance analysis** for single experiments on thousands of processors
- Multiple experiments form **parametric studies**
- Addresses the need for **complexity management**

## PERI-DB Portal

## TAU Portal

## Support Acknowledgements

- US Department of Energy (DOE)‏
- Office of Science
- MICS, Argonne National Lab
- ASC/NNSA
- University of Utah ASC/NNSA Level 1
- ASC/NNSA, Lawrence Livermore National Lab
- US Department of Defense (DoD)‏
- NSF HEC-RTF and SDCI
- Research Centre Juelich
- TU Dresden
- Los Alamos National Laboratory
- ParaTools, Inc.
- PSC, NCSA, and U. Oregon