Skip to content

PR3/8: Adding IPC reporting and NUMA heatmaps#122

Merged
anisse merged 2 commits into
mainfrom
hwgraph-scaling-ipc-numadelta
Jul 24, 2026
Merged

PR3/8: Adding IPC reporting and NUMA heatmaps#122
anisse merged 2 commits into
mainfrom
hwgraph-scaling-ipc-numadelta

Conversation

@ErwanAliasr1

Copy link
Copy Markdown
Collaborator

This PR is dding the IPC reporting in scaling mode and detla heathmaps for the numa domains

@ErwanAliasr1
ErwanAliasr1 force-pushed the hwgraph-scaling-ipc-numadelta branch from e89dd51 to dcbed35 Compare July 16, 2026 10:32
Comment thread graph/scaling.py
ErwanAliasr1 and others added 2 commits July 24, 2026 10:47
IPC is usually interesting to see how cores are performing.
The frequency is not always enough to get a good estimation of the
core's performance, so let's report the IPC too.

Add an "ipc" SMP scaling graph, mirroring the cpu_clock one: add_perf() gains
ipc/ipc_err/ipc_cores parameters that aggregate the min/mean/max IPC across
cores (optionally restricted to the pinned cores), and smp_scaling renders an
ipc graph type with the same all_cores/pinned_cores variants and errorbars.

IPC is not always collected, so it is only aggregated and rendered when the
trace actually has an IPC context; IPC-less traces are unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Erwan Velu <e.velu@criteo.com>
Compare traces per NUMA domain across the scaling sweep. The first trace is
the reference; one heatmap is produced for each other trace, with the compared
trace name in the filename (scaling_<type>_numa_delta_<ref>_vs_<other>_<engine>).

Y = NUMA domains, X = scaling step (worker count), color = signed delta
value(reference) - value(other): red when the compared trace is lower than the
reference, green when higher, white when equal (diverging map centered at 0).
Rendered for frequency (cpu_clock) and IPC (cpu_ipc, when present), each in the
all_cores and (when the sweep pins cores) pinned_cores directories next to the
line graphs. On the pinned view, domains not pinned at a given step have no
data and are drawn black.

This will help understanding what NUMA mode was more or less active
during a step of the scaling.

A left box lists each domain's cores (condensed, via numa_core_blocks) and the
colour legend is a caption under the graph. Only produced when comparing at
least two traces exposing the NUMA topology.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Erwan Velu <e.velu@criteo.com>
@anisse
anisse force-pushed the hwgraph-scaling-ipc-numadelta branch from dcbed35 to 1a12a8c Compare July 24, 2026 08:48
@anisse

anisse commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Rebased without change.

@anisse
anisse self-requested a review July 24, 2026 08:51
@anisse
anisse requested a review from Arno500 July 24, 2026 09:04
@anisse
anisse merged commit bcd1a97 into main Jul 24, 2026
3 checks passed
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.

3 participants