Computer Architecture · All levels

Roofline Thinking for SoC Tradeoffs — Reports & Metrics

Reports & Metrics for Roofline Thinking for SoC Tradeoffs (Performance Analysis).

On-call / interview prompt

Which report lines prove Roofline Thinking for SoC Tradeoffs is healthy vs failing?

diagram
ARCHITECTURE ANALYSIS CHAIN

1. METRIC     — IPC, CPI, MPKI, bandwidth, latency, queue depth, stall cycles
2. HYPOTHESIS — microarch or system cause ordered by likelihood
3. EXPERIMENT — trace, PMU counter, simulation, or RTL probe
4. CHANGE      — pipeline, cache, NoC, or memory hierarchy adjustment
5. VALIDATION  — workload replay, regression suite, PPA impact

Reports to inspect

  • Kernel-by-kernel roofline scatter

  • Bandwidth saturation by memory level

  • Compute utilization versus theoretical peak

diagram
REPORT SNIPPET — Roofline Thinking for SoC Tradeoffs
  metric_A: <value>  (spec: <limit>)
  metric_B: <value>  (spec: <limit>)
  worst_region: <name>
  recommended_action: <one line>

Smoke check (5 minutes)

  • Can you name the single worst line in the report?

  • Can you tie that line to a workload phase, structure, master, or data movement pattern?

How to read this like an architecture lead

The report is not a pass/fail artifact; it is a prioritization tool. Read Workload roofline placement report by severity, locality, trend, and fix cost before touching the design.

Report triage order

  1. Confirm workload, model tag, seed, counter definitions, and warmup window.

  2. Separate product blockers from exploratory tuning opportunities.

  3. Cluster failures by workload phase, master, cache level, NoC path, coherency state, or accelerator kernel.

  4. Compare against previous tag to identify new regressions, not just absolute failures.

  5. Translate the worst line into an owner, experiment, and rollback plan.

diagram
SENIOR REPORT READOUT
  worst_line: <copy exact report line>
  cluster: <workload phase / master / cache level / NoC path / coherency state>
  delta_from_previous: <new/worse/better/same>
  first_experiment: <cheap evidence-gathering action>
  decision: <change design / assign owner / keep risk with approval / stop release>

Metric graph to sketch in review

diagram
REPORT GRAPH — Workload roofline placement report

stall contribution (% cycles)

frontend      ████████████  24
backend       ██████████████████  36
memory        ████████████████████████  48
fabric/qos    ████████  16
coherency     ██████████  20

How to read:
  1. Identify the dominant bar, not the noisiest anecdote.
  2. Cross-check with at least one independent artifact: trace, PMU, sim log, or waveform.
  3. If the dominant bar does not match the proposed fix, stop and reform the hypothesis.

Trend graph

diagram
METRIC TREND GRAPH — Roofline Thinking for SoC Tradeoffs

IPC / throughput
  ^
  |                  target
  |                 ─ ─ ─ ─ ─ ─ ─
  |            ● after bounded fix
  |         /
  |    ● baseline
  |  /
  |● failing run
  +---------------------------------> experiment index
    bad tag       hypothesis        accepted fix

Readout rule:
  - one dot is not a conclusion
  - compare against same workload, seed, model tag, and counter setup
  - explain why the fix moved the metric, not just that it moved

Architecture deep dive

PMU evidence beats intuition for architecture decisions.

Concept diagram

diagram
TOP-DOWN PERFORMANCE METHOD

Total cycles
 ├─ Retiring useful work
 ├─ Frontend bound
 ├─ Bad speculation
 ├─ Backend core bound
 └─ Backend memory bound

Only after classification should you propose cache, branch, pipeline, or NoC changes.

Metric graph

diagram
ROOFLINE SKETCH

Performance
  ^
  |                     compute roof
  |-------------------------------
  |                   /
  |                 /
  |               /   ● workload A (compute-bound)
  |             /
  |   ● workload B (memory-bound)
  +---------------------------------> arithmetic intensity
        memory bandwidth slope

Metrics and artifacts

  • PMU event sets

  • roofline chart

  • top-down stall breakdown

  • workload sensitivity matrix

Mini case study

Team proposed wider SIMD but roofline showed memory-bound kernel — bandwidth upgrade and locality fix delivered 2× speedup at lower area cost.

Debug branches

  • If counters disagree with sim, align workload and warmup.

  • If bottleneck unclear, use top-down method before microarch tweaks.

Senior review question

Ask: what single metric would prove this concept is working or failing on your workload?

Key takeaways

  • Connect every architecture claim to a workload and measurable metric.

  • State verification and PPA impact before proposing design changes.

Common pitfalls

  • Feature-driven design without MPKI/IPC/bandwidth evidence.

  • Ignoring coherency and NoC traffic in cache and accelerator sizing.

Read the numbers