Tool Interoperability with TAU Sameer Shende sameercs uoregon
Tool Interoperability with TAU Sameer Shende sameer@cs. uoregon. edu Department of Computer and Information Science Neuro Informatics Center University of Oregon
Outline TAU and PDT r General purpose instrumentation system r Common profile data format specification r performance visualization tools ¦ performance database ¦ Jan. 23, 2003 2 APART meeting, Vienna
TAU Performance System Framework r r r Tuning and Analysis Utilities Performance system framework for scalable parallel and distributed highperformance computing Targets a general complex system computation model ¦ nodes / contexts / threads ¦ Multi-level: system / software / parallelism ¦ Measurement and analysis abstraction Integrated toolkit for performance instrumentation, measurement, analysis, and visualization ¦ Portable, configurable performance profiling/tracing facility ¦ Open software approach University of Oregon, LANL, FZJ Germany http: //www. cs. uoregon. edu/research/paracomp/tau Jan. 23, 2003 3 APART meeting, Vienna
TAU Performance System Architecture Paraver EPILOG Jan. 23, 2003 4 APART meeting, Vienna
Program Database Toolkit Application / Library C / C++ parser IL C / C++ IL analyzer Program Database Files Jan. 23, 2003 Fortran 77/90 parser IL Fortran 77/90 IL analyzer DUCTAPE 5 PDBhtml Program documentation SILOON Application component glue CHASM C++ / F 90 interoperability TAU_instr Automatic source instrumentation APART meeting, Vienna
Program Database Toolkit (PDT) r r r Program code analysis framework for developing source-based tools for C 99, C++ and F 90 High-level interface to source code information Widely portable: ¦ IBM, SGI, Compaq, HP, Sun, Linux clusters, Windows, Apple, Hitachi, Cray T 3 E. . . Integrated toolkit for source code parsing, database creation, and database query ¦ commercial grade front end parsers (EDG for C 99/C++, Mutek for F 90) ¦ Intel/KAI C++ headers for std. C++ library distributed with PDT ¦ portable IL analyzer, database format, and access API ¦ open software approach for tool development Target and integrate multiple source languages Used in TAU to build automated performance instrumentation tools (tau_instrumentor) Jan. 23, 2003 6 APART meeting, Vienna
Contents of PDB files Source file names r Routines, Classes, Methods, Templates, Macros, Modules r Parameters, signature r Entry and exit point information (return) r Location information for all of the above r Static callgraph r Header file inclusion tree r Proposed (summer ’ 03): r ¦ Statement-level information (loops, if-then-else, switch…) Jan. 23, 2003 7 APART meeting, Vienna
TAU Instrumentor Supports TAU instrumentation for C++, C 99 and F 90 r Uses source file and PDB file to generate an instrumented source file r Supports grouping timers into higher-level user defined groups r Supports selective instrumentation (include/exclude lists) r Jan. 23, 2003 8 APART meeting, Vienna
Selective Instrumentation: Include/Exclude Lists % tau_instrumentor Usage : tau_instrumentor <pdbfile> <sourcefile> [-o <outputfile>] [-noinline] [ -g groupname] [-i headerfile] [-c|-c++|-fortran] [-f <instr_req_file> ] For selective instrumentation, use –f option % cat selective. dat # Selective instrumentation: Specify an exclude/include list. BEGIN_EXCLUDE_LIST void quicksort(int *, int) void sort_5 elements(int *) void interchange(int *, int *) END_EXCLUDE_LIST # If an include list is specified, the routines in the list will be the only # routines that are instrumented. # To specify an include list (a list of routines that will be instrumented) # remove the leading # to uncomment the following lines #BEGIN_INCLUDE_LIST #int main(int, char **) #int select_ #END_INCLUDE_LIST APART meeting, Vienna Jan. 23, 2003 9
Generic Interface for Instrumentation Interact with higher-level performance tool r Instrumentation specification r ¦ r Based on contents of PDB file Parse the source code and generate instrumented source file using the instrumentation specification Source Code (C, C++, F 90) Instrumentation requests Jan. 23, 2003 Instrumentation Engine 10 Instrumented Source file APART meeting, Vienna
Building Higher-Level Tools r Source code instrumentation specification: ¦ Format of instrumentation requests Ø Annotated (tagged) lists of entities in PDB file format Ø Nature of instrumentation code to be inserted Measurement module selection for performance tool r Common performance data format: r Converters to/from existing tools (low level performance information) ¦ Interoperability with analysis tools (jracy, pprof…) ¦ Bridges to performance databases ¦ Ø Higher-level database Jan. 23, 2003 ad-hoc performance queries from ASL to SQL 11 APART meeting, Vienna
Performance Database Framework Raw performance data Performance analysis programs Performance analysis and query toolkit Perf. DML data description Perf. DML translators ORDB Postgre. SQL • XML profile data representation • Multiple experiment performance database Jan. 23, 2003 . . . 12 APART meeting, Vienna
Support Acknowledgement r TAU and PDT support: ¦ Department of Energy (DOE) Ø DOE 2000 ACTS contract Ø DOE MICS contract Ø DOE ASCI Level 3 (LANL, LLNL) Ø U. of Utah DOE ASCI Level 1 subcontract ¦ ¦ DARPA NSF National Young Investigator (NYI) award
- Slides: 13