Releases: LLNL/hatchet
Releases · LLNL/hatchet
2022.1.0
Version 2022.1.0
is a major release.
New features
- 3 new readers: TAU, SpotDB, and Caliper python reader
- Query language extensions: compound queries, not query, and middle-level API
- Adds GraphFrame checkpoints in HDF5 format
- Interactive CCT visualization enhancements: pan and zoom, module encoding,
multivariate encoding and adjustable mass pruning on large datasets - HPCToolkit: extend for GPU stream data
- New color maps for terminal tree visualization
- New function for calculating exclusive metrics from corresponding inclusive
metrics
Changes to existing APIs
- Precision parameter applied to second metric in terminal tree visualization
(e.g.,gf.tree(precision=3)
) - Deprecates
from_caliper_json()
, augments existingfrom_caliper()
to
accept optional cali-query parameter and cali file or just a json file - Metadata now stored on the GraphFrame
- New interface for calling the Hatchet calling context tree from Roundtrip:
%cct <graphframe or list>
. Deprecated interface:%loadVisualization <roundtrip_path> <literal_tree>
- Add recursion limit parameter to graphframe
filter(rec_limit=1000)
,
resolving recursion depth errors on large graphs
Tutorials and documentation
- New tutorial material from the ECP Annual Meeting 2021
- New developer and contributor guides
- Added section on how to generate datasets for Hatchet and expanded
- documentation on the query language
Internal updates
- Extend update_inclusive_columns() for multi-indexed trees
- Moves CI from Travis to GitHub Actions
- Roundtrip refactor
- New unit test for formatting license headers
Bugfixes
- Return default_metric and metadata in filter(), squash(), copy(), and
deepcopy() - flamegraph: extract name from dataframe column instead of frame
- Preserve existing inc_metrics in update_inclusive_columns
v1.3.1a0
New features
- Timemory reader
- Query dataframe columns with GraphFrame.show_metric_columns()
- Query nodes within a range using the call path query language
- Extend readers to define their own default metric
- Changes to existing APIs
- Tree visualization displays 2 metrics
- Literal output format: add hatchet node IDs
- Parallel implementation of filter function
- Caliper reader: support multiple hierarchies in JSON format
- Adds multiprocessing dependency
Hatchet v1.3.0
New features:
- Interactive tree visualization in Jupyter
- Add mult and division API
- Update hatchet installation steps for cython integration
- Readers: cprofiler, pyinstrument
- Graph output formats: to_literal
- Add profiling APIs to profile Hatchet APIs
- Update basic tutorial for hatchet
Changes to existing APIs
- Remove threshold=, color=, and unicode= from tree API
- Highlighting name disabled by default in terminal tree output
is kept in sync with the dataframe - Internal performance improvements to unify and HPCToolkit reader, enabling
analysis of large datasets - For mathematical operations, insert nan values for missing nodes, show values
as nan and inf as necessary in dataframe - Extend callpath query language to support non-dataframe metrics (e.g., depth,
hatchet ID) - Literal reader: A node can be defined with a "duplicate": True field if it
should be the same node (though in a different callpath). A node also needs
"frame" field, which is a dict containing the node "name" and "type" (if
necessary).