Skip to content

Releases: LLNL/hatchet

2022.1.0

28 Apr 23:39
Compare
Choose a tag to compare

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 existing from_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

07 Feb 20:19
a6d5002
Compare
Choose a tag to compare

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

07 Feb 20:23
85c66ca
Compare
Choose a tag to compare

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).