Hatchet is a Python-based library that allows Pandas dataframes to be indexed by structured tree and graph data. It is intended for analyzing performance data that has a hierarchy (for example, serial or parallel profiles that represent calling context trees, call graphs, nested regions’ timers, etc.). Hatchet implements various operations to analyze a single hierarchical data set or compare multiple data sets, and its API facilitates analyzing such data programmatically.
You can get hatchet from its GitHub repository:
$ git clone https://github.com/llnl/hatchet.git
or install it using pip:
$ pip install llnl-hatchet
For Lawrence Livermore National Laboratory users, we recommend using the hatchet installation directly. For more information, see Using Hatchet on LLNL Systems.
- Getting Started
- Using Hatchet on LLNL Systems
- User Guide
- Query Language
- Generating Profiling Datasets
- Analysis Examples
If you encounter bugs while using hatchet, you can report them by opening an issue on GitHub.
If you are referencing hatchet in a publication, please cite the following paper:
Abhinav Bhatele, Stephanie Brink, and Todd Gamblin. Hatchet: Pruning the Overgrowth in Parallel Profiles. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC ‘19). ACM, New York, NY, USA. DOI