Portable profiling and tracing for parallel, scientific applications using C++

Sameer Shende*, Allen D. Malony, Janice Cuny, Kathleen Lindlan, Peter Beckman, Steve Karmesin

*Corresponding author for this work

Research output: Contribution to conferencePaperpeer-review

72 Scopus citations

Abstract

Performance measurement of parallel, object-oriented (OO) programs requires the development of instrumentation and analysis techniques beyond those used for more traditional languages. Performance events must be redefined for the conceptual OO programming model, and those events must be instrumented and tracked in the context of OO language abstractions, compilation methods, and runtime execution dynamics. In this paper, we focus on the profiling and tracing of C++ applications that have been written using a rich parallel programming framework for high-performance, scientific computing. We address issues of class-based profiling, instrumentation of templates, runtime function identification, and polymorphic (type-based) profiling. Our solutions are implemented in the TAU portable profiling package which also provides support for profiling groups and user-level timers. We demonstrate TAU's C++ profiling capabilities for real parallel applications, built from components of the ACTS toolkit. Future directions include work on runtime performance data access, dynamic instrumentation, and higher-level performance data analysis and visualization that relates object semantics with performance execution behavior.

Original languageEnglish (US)
Pages134-145
Number of pages12
DOIs
StatePublished - 1998
EventProceedings of the 1998 SIGMETRICS Symposium on Parallel and Distributed Tools - Welches, OR, USA
Duration: Aug 3 1998Aug 4 1998

Conference

ConferenceProceedings of the 1998 SIGMETRICS Symposium on Parallel and Distributed Tools
CityWelches, OR, USA
Period8/3/988/4/98

ASJC Scopus subject areas

  • General Engineering
  • General Computer Science

Fingerprint

Dive into the research topics of 'Portable profiling and tracing for parallel, scientific applications using C++'. Together they form a unique fingerprint.

Cite this