Aftermath: A graphical tool for performance analysis and debugging of fine-grained task-parallel programs and run-time systems
Abstract
We present Aftermath, an open source graphical tool designed to assist in
the performance debugging process of task-parallel programs by
visualizing, filtering and analyzing execution traces interactively.
To efficiently exploit increasingly complex and concurrent hardware
architectures, both the application and the run-time system that
manages task execution must be highly optimized. However, detecting
performance anomalies is challenging as bottlenecks can arise directly
from the application, the run-time or interaction with the hardware.
In Aftermath, key metrics and indicators, such as task duration, state
information, hardware performance counter values and data exchanges
can be visualized jointly, aggregated and related to the machine's
topology. The tool supports traces of up to several gigabytes, with
fast and intuitive navigation and on-line generation of new derived
metrics. As it has proven invaluable to optimize both OpenStream's
run-time and applications, we illustrate Aftermath on genuine cases
encountered in the OpenStream project.