Skip to content

Conversation

@dbarry9
Copy link
Contributor

@dbarry9 dbarry9 commented Nov 15, 2024

Pull Request Description

This PR adds support for presets defined using native events from non-CPU components. The only component that has been modified in this PR is the 'cuda' component, which is limited to loading the preset table for 'cuda' presets.

These changes have been tested on the NVIDIA Grace-Hopper architecture.

Author Checklist

  • Description
    Why this PR exists. Reference all relevant information, including background, issues, test failures, etc
  • Commits
    Commits are self contained and only do one thing
    Commits have a header of the form: module: short description
    Commits have a body (whenever relevant) containing a detailed description of the addressed problem and its solution
  • Tests
    The PR needs to pass all the tests

@dbarry9 dbarry9 added the status-work-in-progress PR is still being worked on label Nov 15, 2024
@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch 4 times, most recently from 935ea80 to eaa020e Compare November 25, 2024 18:25
@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch 4 times, most recently from b57602c to 6c536d1 Compare November 27, 2024 23:09
@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch 2 times, most recently from 1212e11 to 6406ed1 Compare December 5, 2024 20:23
@Treece-Burgess Treece-Burgess added the update-presets PRs related to updating the PAPI presets label Dec 19, 2024
@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch 12 times, most recently from 34fb833 to c8727c1 Compare February 11, 2025 17:22
@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch 2 times, most recently from de36142 to a4c22a4 Compare February 11, 2025 21:57
@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch from 1c3178f to 2d0d73c Compare April 24, 2025 01:36
@dbarry9
Copy link
Contributor Author

dbarry9 commented Apr 24, 2025

Please do not merge yet.

Copy link
Collaborator

@jagode jagode left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we already have PAPI_L3-related presets, I’m not a fan of introducing a second set of L3-related events just because the native events now come from a different component (uncore, in this case). That is an internal technical detail that users shouldn’t have to worry about. It could create confusion if the original L3 presets are not defined while the new, slightly different L3-uncore presets are defined.

@adanalis : What do you think?

@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch from 2d0d73c to ee66986 Compare April 24, 2025 15:04
@dbarry9 dbarry9 removed the status-work-in-progress PR is still being worked on label Apr 29, 2025
@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch 4 times, most recently from 511a569 to 0d7f082 Compare May 1, 2025 16:48
@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch from 0d7f082 to 049bf95 Compare May 6, 2025 00:21
@dbarry9 dbarry9 requested a review from jagode May 6, 2025 15:06
@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch from 049bf95 to b6b2203 Compare May 6, 2025 17:37
@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch from b6b2203 to 82887a3 Compare May 8, 2025 01:03
dbarry9 added 8 commits May 8, 2025 06:02
Create fields in the vector struct for components to define presets.

These changes have been tested on the NVIDIA Hopper architecture.
Add functions to facilitate CUDA presets.

These changes have been tested on the NVIDIA Hopper architecture.
Update configure to track both the number of presets per component and
the arrays of presets belonging to each component.

These changes have been tested on the NVIDIA Hopper architecture.
Updates to framework to facilitate preset events defined by native
events of non-perf_event components.

These changes have been tested on the NVIDIA Hopper architecture.
This is an aesthetic change to improve the development process.

These changes have been tested on the NVIDIA Grace-Hopper architecture.
Replace modifiers with only those that enumerate the CPU preset events.

These changes have been tested on the NVIDIA Grace-Hopper architecture.
Enumerate presets for components as well as the CPU.

These changes have been tested on the NVIDIA Grace-Hopper architecture.
@dbarry9 dbarry9 force-pushed the 2024.10.17_preset-extensions branch from 82887a3 to c214d8c Compare May 8, 2025 13:03
@dbarry9 dbarry9 merged commit b8c4cb8 into icl-utk-edu:master May 8, 2025
42 of 46 checks passed
dbarry9 added a commit that referenced this pull request Jun 12, 2025
PR #284 introduced code that always forced the initialization of all
components. However, this defeats the purpose of having
PAPI_EDELAY_INIT.

The changes in this pull request only force initialization of components
when necessary.

These changes have been tested on systems containing:
- NVIDIA Hopper architecture
- AMD Zen3 CPU and AMD MI250X GPU architectures (Frontier).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

update-presets PRs related to updating the PAPI presets

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants