User-Centric Automated Performance Analysis of Hybrid Parallel Programs
TimeMonday, 15 November 20218am - 5pm CST
DescriptionPerformance analysis is critical for identifying and eliminating scalability bottlenecks in parallel codes. Performance measurement and analysis tools allow developers to focus their optimization efforts by pinpointing the parts within a code's execution that consume the most time. Profiling tools can record/present the time spent in different call paths or calling contexts, which can reveal the root causes of performance slowdowns.
This tutorial provides a detailed introduction to four parallel performance analysis tools, and their measurement and analysis capabilities. Caliper and Timemory provide automated instrumentation-based profiling. HPCToolkit provides low-overhead sampling and interactive exploration of performance data. Hatchet
provides a Python-based API that enables the performance analyst to write code for exploring performance data collected by all of these tools and others. Attendees of this tutorial will leave with foundational skills in annotating their parallel programs for performance analysis, using these tools for collecting performance data, and analyzing performance using them.