Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sameer Shende Department of Computer and Information Science Neuro Informatics Center University of Oregon Tool Interoperability.

Similar presentations


Presentation on theme: "Sameer Shende Department of Computer and Information Science Neuro Informatics Center University of Oregon Tool Interoperability."— Presentation transcript:

1 Sameer Shende sameer@cs.uoregon.edu Department of Computer and Information Science Neuro Informatics Center University of Oregon Tool Interoperability with TAU

2 APART meeting, Vienna 2 Jan. 23, 2003 Outline  TAU and PDT  General purpose instrumentation system  Common profile data format specification  performance visualization tools  performance database

3 APART meeting, Vienna 3 Jan. 23, 2003 TAU Performance System Framework  Tuning and Analysis Utilities  Performance system framework for scalable parallel and distributed high- performance 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 http://www.cs.uoregon.edu/research/paracomp/tau

4 APART meeting, Vienna 4 Jan. 23, 2003 TAU Performance System Architecture EPILOG Paraver

5 APART meeting, Vienna 5 Jan. 23, 2003 Program Database Toolkit Application / Library C / C++ parser Fortran 77/90 parser C / C++ IL analyzer Fortran 77/90 IL analyzer Program Database Files IL DUCTAPE PDBhtml SILOON CHASM TAU_instr Program documentation Application component glue C++ / F90 interoperability Automatic source instrumentation

6 APART meeting, Vienna 6 Jan. 23, 2003 Program Database Toolkit (PDT)  Program code analysis framework for developing source-based tools for C99, C++ and F90  High-level interface to source code information  Widely portable:  IBM, SGI, Compaq, HP, Sun, Linux clusters,Windows, Apple, Hitachi, Cray T3E...  Integrated toolkit for source code parsing, database creation, and database query  commercial grade front end parsers (EDG for C99/C++, Mutek for F90)  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)

7 APART meeting, Vienna 7 Jan. 23, 2003 Contents of PDB files  Source file names  Routines, Classes, Methods, Templates, Macros, Modules  Parameters, signature  Entry and exit point information (return)  Location information for all of the above  Static callgraph  Header file inclusion tree  Proposed (summer ’03):  Statement-level information (loops, if-then-else, switch…)

8 APART meeting, Vienna 8 Jan. 23, 2003 TAU Instrumentor  Supports TAU instrumentation for C++, C99 and F90  Uses source file and PDB file to generate an instrumented source file  Supports grouping timers into higher-level user defined groups  Supports selective instrumentation (include/exclude lists)

9 APART meeting, Vienna 9 Jan. 23, 2003 Selective Instrumentation: Include/Exclude Lists % tau_instrumentor Usage : tau_instrumentor [-o ] [-noinline] [-g groupname] [-i headerfile] [-c|-c++|-fortran] [-f ] For selective instrumentation, use –f option % cat selective.dat # Selective instrumentation: Specify an exclude/include list. BEGIN_EXCLUDE_LIST void quicksort(int *, int, int) void sort_5elements(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

10 APART meeting, Vienna 10 Jan. 23, 2003 Generic Interface for Instrumentation  Interact with higher-level performance tool  Instrumentation specification  Based on contents of PDB file  Parse the source code and generate instrumented source file using the instrumentation specification Source Code (C, C++,F90) Instrume- ntation requests Instrumentation Engine Instrumented Source file

11 APART meeting, Vienna 11 Jan. 23, 2003 Building Higher-Level Tools  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  Common performance data format:  Converters to/from existing tools (low level performance information)  Interoperability with analysis tools (jracy, pprof…)  Bridges to performance databases  Higher-level ad-hoc performance queries from ASL to SQL database

12 APART meeting, Vienna 12 Jan. 23, 2003 Performance Database Framework... Raw performance data PerfDML data description Performance analysis programs PerfDML translators Performance analysis and query toolkit ORDB PostgreSQL XML profile data representation Multiple experiment performance database

13 Support Acknowledgement  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


Download ppt "Sameer Shende Department of Computer and Information Science Neuro Informatics Center University of Oregon Tool Interoperability."

Similar presentations


Ads by Google