Skip to content

framework: half-precision presets#566

Merged
Treece-Burgess merged 3 commits intoicl-utk-edu:masterfrom
dbarry9:2026.01.13_hp-presets
Feb 19, 2026
Merged

framework: half-precision presets#566
Treece-Burgess merged 3 commits intoicl-utk-edu:masterfrom
dbarry9:2026.01.13_hp-presets

Conversation

@dbarry9
Copy link
Contributor

@dbarry9 dbarry9 commented Feb 18, 2026

Pull Request Description

  • framework: support for half-precision CPU presets
  • presets: add HP for Intel SPR and EMR
  • framework: consistent number of derived terms

These changes have been tested on the ARM Neoverse V2, Intel Sapphire Rapids, and Intel Emerald Rapids architectures.

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 update-presets PRs related to updating the PAPI presets label Feb 18, 2026
@dbarry9 dbarry9 changed the title 2026.01.13 hp presets framework: half-precision presets Feb 18, 2026
@dbarry9 dbarry9 linked an issue Feb 18, 2026 that may be closed by this pull request
@dbarry9 dbarry9 force-pushed the 2026.01.13_hp-presets branch 2 times, most recently from 18d06d3 to 193bbd7 Compare February 19, 2026 15:38
Updates to framework to accommodate half-precision preset events.

These changes have been tested on the ARM Neoverse V2 architecture.
Add half-precision presets for Intel Sapphire Rapids and Emerald Rapids.
Also modify existing presets monitoring all precisions (PAPI_FP_OPS,
PAPI_FP_INS, and PAPI_VEC_INS) if the native, half-precision events
cannot be added to the same event set as the other native events in the
existing preset definition.

These changes have been tested on the Intel Sapphire Rapids and Emerald
Rapids architectures.
The header file 'papi.h' states that the PAPI_MAX_INFO_TERMS "should
match PAPI_EVENTS_IN_DERIVED_EVENT defined in papi_internal.h", However,
PAPI_MAX_INFO_TERMS is defined as 12; whereas,
PAPI_EVENTS_IN_DERIVED_EVENT is defined as 8. This commit changes the 8
to 12.

These changes have been tested on the Intel Sapphire Rapids
architecture.
@dbarry9 dbarry9 force-pushed the 2026.01.13_hp-presets branch from b6e66e3 to 179d932 Compare February 19, 2026 17:35
Copy link
Contributor

@Treece-Burgess Treece-Burgess left a comment

Choose a reason for hiding this comment

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

I have tested this PR on an Intel Xeon Gold 6430 (SPR) on Picard at Oregon.

papi_avail show the new PAPI_HP_OPS, PAPI_VEC_HP presets along with the updated PAPI_VEC_INS and PAPI_FP_INS.

papi_command_line worked with the aforementioned presets.

Lastly, I tested with a custom application code to verify the counts. Looks good.

@Treece-Burgess Treece-Burgess merged commit d5792ad into icl-utk-edu:master Feb 19, 2026
14 checks passed
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.

presets: PAPI_HP_OPS and PAPI_HP_INS

2 participants