llnl / llnl/thicket

Properly Aggregate String Attribute Data

Open
#241 0 comments 0 reactions 1 assignee View on GitHub

@michaelmckinsey1 is already working on this.

Since Apr 22, 2025.

type-bug
Dominant language
JavaScript
Stars
18
Forks
10
PR merge metrics
No merged PRs in 30d

Description

The following is an example from RAJAPerf for an inclusive metric, the blue bars are for a profile without string attributes and the orange bars are for a profile with the `Complexity` string attribute, added in https://github.com/LLNL/RAJAPerf/pull/471:

![Image](https://github.com/user-attachments/assets/97fc7cbf-141b-4440-9ed2-90837e591145)

Notice that the orange bars should add up in the parent kernel `Polybench` to approximately `33.5`, but are nowhere close. This is because the orange value shown for `Polybench` is showing the metric for only the `O(N^(3/2)` kernels, which if we look at the below example is correct:

![Image](https://github.com/user-attachments/assets/c26f904e-78ca-47d4-9c4b-ba269c32874c)

This is misleading, first because you would expect all of the children kernels to add up to the parent kernel, and secondly because the `Complexity` attribute only appears when using `from_caliperreader(..., string_attributes=["Complexity"])`.

---

Proposed solution is to aggregate the parent kernel values (e.g. `22+11`) during Hatchet/Thicket initialization.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.