Skip to content

fix: report frequency table for CWF and frequency benchmark for CWF#676

Open
harp-intel wants to merge 5 commits intomainfrom
cwf-freq-bench
Open

fix: report frequency table for CWF and frequency benchmark for CWF#676
harp-intel wants to merge 5 commits intomainfrom
cwf-freq-bench

Conversation

@harp-intel
Copy link
Copy Markdown
Contributor

@harp-intel harp-intel commented Mar 30, 2026

CWF requires core interleaving for frequency benchmarking.
CWF frequency table from tpmi.

This pull request updates the logic for handling CPU architectures with multiple dies, especially focusing on CWF and GNR architectures. The changes improve how core counts and die counts are determined and used, and update the scripts to more accurately detect and process multi-die CPUs.

Key changes include:

Frequency bucket calculation improvements:

  • Refactored the calculation of total cores and die core buckets in GetSpecFrequencyBuckets to use explicit numDies and coreMultiplier variables, allowing more accurate handling of architectures with multiple dies and varying core multipliers. This replaces the previous archMultiplier logic and ensures correct bucket ranges for CWF and GNR architectures.
  • Updated the logic for adding "Cores per Die" and total core bucket columns to use numDies instead of the old multiplier, ensuring correct column headers and row data for multi-die architectures. [1] [2]

Script and architecture detection enhancements:

  • Improved the architecture detection in the script to distinguish between CWF (model 221, no AVX-512/AMX) and SRF (model 175), and set the correct feature flags and core count sources for each.
  • Changed the die counting logic for GNR and CWF architectures to use pcm-tpmi output, providing a more robust and accurate way to determine the number of compute dies per socket. Added error handling for missing die or socket counts.
  • Updated script dependencies to require pcm-tpmi instead of lspci for accurate die detection.

…ute dies

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates PerfSpect’s x86 frequency benchmark script to better handle multi-die Intel CPUs (GNR/CWF) by interleaving core IDs across dies, and switches compute-die counting from lspci-based heuristics to pcm-tpmi output parsing.

Changes:

  • Extend special interleaving logic to apply to both GNR (model 173) and CWF (model 221).
  • Replace compute-die detection from lspci device counting to parsing pcm-tpmi output, and recompute dies_per_socket accordingly.
  • Update the frequency benchmark script dependency list to include pcm-tpmi instead of lspci.

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
@harp-intel harp-intel changed the title fix: benchmark frequency on CWF, use pcm-tpmi to count number of compute dies fix: report frequency table for CWF and frequency benchmark for CWF Mar 31, 2026
Signed-off-by: Harper, Jason M <jason.m.harper@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants