Usability and Performance Improvements in Hatchet

S Brink and I Lumsden and C Scully-Allison and K Williams and O Pearce and T Gamblin and M Taufer and KE Isaacs and A Bhatele, PROCEEDINGS OF 2020 IEEE/ACM INTERNATIONAL WORKSHOP ON HPC USER SUPPORT TOOLS (HUST) AND THE WORKSHOP ON PROGRAMMING AND PERFORMANCE VISUALIZATION TOOLS (PROTOOLS), 49-58 (2020).

DOI: 10.1109/HUSTProtools51951.2020.00013

Performance analysis is critical for pinpointing bottlenecks in parallel applications. Several profilers exist to instrument parallel programs on HPC systems and gather performance data. Hatchet is an open-source Python library that can read profiling output of several tools, and enables the user to perform a variety of programmatic analyses on hierarchical performance profiles. In this paper, we augment Hatchet to support new features: a query language for representing call path patterns that can be used to filter a calling context tree, visualization support for displaying and interacting with performance profiles, and new operations for performing analyses on multiple datasets. Additionally, we present performance optimizations in Hatchet's HPCToolkit reader and the unify operation to enable scalable analysis of large datasets.

Return to Publications page