Files
kernbench2/docs/diagrams/pe2pe_latency_plots/summary.csv
T
ywkang b8213d43a9 ADR-0019 D1/D4: per-PE HBM CTRL partitioning
Restores per-PE HBM controller partitioning that was lost in
commit 5917b34 ("Replace xbar/bridge/single-NOC with explicit
router mesh"), which had over-consolidated the per-slice HBM CTRL
into a single cube-wide ``hbm_ctrl`` connected to every router —
the opposite of what ADR-0019 D1/D4 specifies.

Builder splits ``hbm_ctrl`` into 8 ``hbm_ctrl.pe{X}`` instances per
cube, each reachable ONLY through PE_X's attaching router via the
existing ``peX.hbm`` attach metadata from cube_mesh.yaml. Cube
aggregate BW now matches the spec (8 PEs × 8 PCs × 32 GB/s =
2048 GB/s) instead of collapsing to 256 GB/s.

AddressResolver decodes the target PE from the HBM PA's hbm_offset
(``offset // slice_size``) and returns ``hbm_ctrl.pe{X}``. PathRouter
uses the existing ``_adj_local`` adjacency for same-cube PE_DMA so
the cube's own UCIe port can no longer appear as a zero-distance
shortcut between routers — local PE_DMA now traverses the mesh,
restoring the ADR-0019 D4 worked example
``PE0.pe_dma → r0c0 → … → r1c4 → hbm_ctrl``.

Tests:
- New tests/test_per_pe_hbm_partition.py: 14 tests covering
  topology shape, per-PE router exclusivity, PA resolution,
  single-hop local path, cross-PE mesh traversal, and end-to-end
  latency monotonicity. Probe CLI now reports
  pe-local < pe-same-half < pe-cross-half (was uniform 141ns).
- Existing tests updated for new node ids and replaced two
  assertions that locked in the wrong consolidation:
  test_noc_mesh.test_hbm_connects_to_all_routers and
  test_topology_compile.test_hbm_ctrl_connects_all_routers are
  now per-PE exclusivity assertions; test_routing
  .test_all_pe_hbm_equidistant becomes
  test_cross_pe_hbm_distance_increases_with_mesh_hops.
- test_ipcq_buffer_kind_locations.test_hbm_pe_hop_charged_at_large_payload
  threshold recalibrated 4000→1500 ns: the prior figure reflected
  serialization on the over-consolidated single hbm_ctrl; per-PE
  partitioning removes that artificial contention so the gap
  shrinks to the genuine PE↔HBM-hop cost.

Full suite: 645 passed, 1 skipped.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 01:04:30 -07:00

6.8 KiB

1hoplabelsize_bytespathtotal_ns
2h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)128ipcq24.88749999999891
3h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)128raw33.57999999999811
4h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)256ipcq28.13749999999891
5h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)256raw36.07999999999811
6h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)384ipcq29.88749999999891
7h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)384raw37.07999999999811
8h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)512ipcq31.63749999999891
9h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)512raw38.07999999999811
10h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)768ipcq35.13749999999891
11h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)768raw40.07999999999811
12h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)1024ipcq38.63749999999891
13h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)1024raw42.07999999999811
14h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)2048ipcq52.63749999999891
15h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)2048raw50.07999999999811
16h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)4096ipcq80.63750000000073
17h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)4096raw66.08000000000175
18h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)8192ipcq136.63750000000073
19h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)8192raw98.08000000000175
20h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)10240ipcq164.63750000000073
21h1_intra_horizontalIntra-cube horizontal (pe0 to pe1)10240raw114.08000000000175
22h2_intra_verticalIntra-cube vertical (pe0 to pe4)128ipcq38.49749999999585
23h2_intra_verticalIntra-cube vertical (pe0 to pe4)128raw47.18999999999505
24h2_intra_verticalIntra-cube vertical (pe0 to pe4)256ipcq43.24749999999585
25h2_intra_verticalIntra-cube vertical (pe0 to pe4)256raw51.18999999999505
26h2_intra_verticalIntra-cube vertical (pe0 to pe4)384ipcq44.99749999999585
27h2_intra_verticalIntra-cube vertical (pe0 to pe4)384raw52.18999999999505
28h2_intra_verticalIntra-cube vertical (pe0 to pe4)512ipcq46.74749999999585
29h2_intra_verticalIntra-cube vertical (pe0 to pe4)512raw53.18999999999505
30h2_intra_verticalIntra-cube vertical (pe0 to pe4)768ipcq50.24749999999585
31h2_intra_verticalIntra-cube vertical (pe0 to pe4)768raw55.18999999999505
32h2_intra_verticalIntra-cube vertical (pe0 to pe4)1024ipcq53.74749999999585
33h2_intra_verticalIntra-cube vertical (pe0 to pe4)1024raw57.18999999999505
34h2_intra_verticalIntra-cube vertical (pe0 to pe4)2048ipcq67.74749999999585
35h2_intra_verticalIntra-cube vertical (pe0 to pe4)2048raw65.18999999999505
36h2_intra_verticalIntra-cube vertical (pe0 to pe4)4096ipcq95.74750000000131
37h2_intra_verticalIntra-cube vertical (pe0 to pe4)4096raw81.19000000000233
38h2_intra_verticalIntra-cube vertical (pe0 to pe4)8192ipcq151.7475000000013
39h2_intra_verticalIntra-cube vertical (pe0 to pe4)8192raw113.19000000000233
40h2_intra_verticalIntra-cube vertical (pe0 to pe4)10240ipcq179.7475000000013
41h2_intra_verticalIntra-cube vertical (pe0 to pe4)10240raw129.19000000000233
42h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)128ipcq81.15999999999804
43h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)128raw89.28999999999724
44h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)256ipcq88.65999999999804
45h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)256raw95.53999999999724
46h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)384ipcq90.90999999999804
47h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)384raw96.53999999999724
48h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)512ipcq93.15999999999804
49h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)512raw97.53999999999724
50h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)768ipcq97.65999999999804
51h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)768raw99.53999999999724
52h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)1024ipcq103.15999999999804
53h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)1024raw102.53999999999724
54h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)2048ipcq125.15999999999804
55h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)2048raw114.53999999999724
56h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)4096ipcq169.15999999999985
57h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)4096raw138.54000000000087
58h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)8192ipcq257.15999999999985
59h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)8192raw186.54000000000087
60h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)10240ipcq301.15999999999985
61h3_inter_cube_horizontalInter-cube horizontal (cube0 to cube1)10240raw210.54000000000087
62h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)128ipcq103.15999999999804
63h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)128raw111.28999999999724
64h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)256ipcq112.65999999999804
65h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)256raw119.53999999999724
66h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)384ipcq114.90999999999804
67h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)384raw120.53999999999724
68h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)512ipcq117.15999999999804
69h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)512raw121.53999999999724
70h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)768ipcq121.65999999999804
71h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)768raw123.53999999999724
72h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)1024ipcq127.15999999999804
73h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)1024raw126.53999999999724
74h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)2048ipcq149.15999999999804
75h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)2048raw138.53999999999724
76h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)4096ipcq193.15999999999985
77h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)4096raw162.54000000000087
78h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)8192ipcq281.15999999999985
79h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)8192raw210.54000000000087
80h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)10240ipcq325.15999999999985
81h4_inter_cube_verticalInter-cube vertical (cube0 to cube4)10240raw234.54000000000087