Abstract
The Charm++ parallel programming system provides a modular
performance interface that can be used to extend its performance
measurement and analysis capabilities. The interface exposes
execution events of interest representing Charm++ scheduling
operations, application methods/routines, and communication events
for observation by alternative performance modules configured to
implement different measurement features. The paper describes the
Charm++'s performance interface and how the Charm++ Projections
tool and the TAU Performance System can provide integrated
trace-based and profile-based performance views. These two tools
are often complementary, providing the user with different
performance perspectives on Charm++ applications based on
performance data detail and temporal and spatial analysis. How the
tools work in practice is demonstrated in a parallel performance
analysis of NAMD, a scalable molecular dynamics code that applies
many of Charm++'s unique features.