paper: §2 polish + §5 fresh all-reduce data + kernbench probe table

§2 platform:
- Add a "memory-centric AHBM" sentence to the device-and-execution
  intro: each PE is paired with dedicated HBM bandwidth and on-PE
  TCM, so the performance question is about feeding compute from
  locally-attached memory + moving the unavoidable inter-PE traffic
  efficiently. Makes the AHBM character of the platform visible
  before §2.3 starts unpacking the latency model.
- Promote "Congestion and contention modeling" from \paragraph to
  \subsubsection: this is the platform's core differentiator over a
  peak-BW roofline, so it deserves its own heading.
- Rename "Control-plane (issue) cost model" to "Command dispatch
  overhead model" -- describes what it actually charges (the PE_CPU
  paying a fixed + per-byte cost to push a command to one of the
  accelerator engines) without the more abstract "control-plane"
  framing.
- Add a third Accuracy cross-check from kernbench probe: a
  PE→HBM DMA-distance sweep that confirms monotonic hop progression,
  bandwidth saturation matching the per-edge model, and the built-in
  invariants (D2H >= H2D, cross-CUBE best < worst). New
  Table~\ref{tab:probe-pe-dma} reports per-traversal latency and
  utilisation at 32KiB / 1MiB across five hop classes.
- Captured probe output as figures/probe_pe_dma_summary.txt for
  reproducibility.

§5 PE_IPCQ / all-reduce:
- Re-ran milestone-1h-ccl on current sim_engine (post-ADR-0064 Rev2
  and the IPCQ slot-wrap Phase-2 race fix). Updated the topology-
  comparison table and the buffer-kind caption to the fresh raw
  latencies. Headline ratios are preserved:
    torus vs mesh saving at 96 KB/PE: 24.8% (was 24.8%) -> ~25%
    torus vs ring saving at 96 KB/PE: 19.3% (was 19.3%) -> ~19%
    TCM vs HBM saving at 64 KB/PE: 13.4% (was 13.9%) -> ~13%
    TCM vs SRAM saving at 64 KB/PE: 37.2% (was 38.3%) -> ~37%
  The Executive Summary's "up to ~14%" / "up to ~38%" framing stays
  consistent with these post values.

Artifacts refreshed in src/kernbench/benches/1H_milestone_output/:
- ccl/summary.csv + per-topology PNGs + buffer-kind CSV/PNG
- ccl/comparison_mesh_vs_ring_vs_2DTorus_vs_theoretical_vs_fsim.png
- gemm/* (re-run yields identical pe_window structure; PNGs
  refreshed)

Paper figures synced to the fresh artifacts:
- figures/allreduce_comparison.png
- figures/allreduce_buffer_kind.png

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-16 10:38:47 -07:00
parent 7c346dec1b
commit e3f08972da
18 changed files with 241 additions and 93 deletions
@@ -33,7 +33,7 @@
"bytes_hbm": 6144,
"arith_intensity": 10.666666666666666,
"tile_count_expected": 1,
"sim_wall_clock_s": 1.64,
"sim_wall_clock_s": 0.297,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -100,7 +100,7 @@
"bytes_hbm": 6144,
"arith_intensity": 10.666666666666666,
"tile_count_expected": 1,
"sim_wall_clock_s": 0.696,
"sim_wall_clock_s": 0.239,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -167,7 +167,7 @@
"bytes_hbm": 6144,
"arith_intensity": 10.666666666666666,
"tile_count_expected": 1,
"sim_wall_clock_s": 0.605,
"sim_wall_clock_s": 0.243,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -234,7 +234,7 @@
"bytes_hbm": 10240,
"arith_intensity": 12.8,
"tile_count_expected": 1,
"sim_wall_clock_s": 0.599,
"sim_wall_clock_s": 0.427,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -301,7 +301,7 @@
"bytes_hbm": 10240,
"arith_intensity": 12.8,
"tile_count_expected": 1,
"sim_wall_clock_s": 0.622,
"sim_wall_clock_s": 0.336,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -368,7 +368,7 @@
"bytes_hbm": 10240,
"arith_intensity": 12.8,
"tile_count_expected": 1,
"sim_wall_clock_s": 0.63,
"sim_wall_clock_s": 0.237,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -435,7 +435,7 @@
"bytes_hbm": 18432,
"arith_intensity": 14.222222222222221,
"tile_count_expected": 2,
"sim_wall_clock_s": 0.618,
"sim_wall_clock_s": 0.322,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -502,7 +502,7 @@
"bytes_hbm": 18432,
"arith_intensity": 14.222222222222221,
"tile_count_expected": 2,
"sim_wall_clock_s": 0.642,
"sim_wall_clock_s": 0.247,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -569,7 +569,7 @@
"bytes_hbm": 18432,
"arith_intensity": 14.222222222222221,
"tile_count_expected": 2,
"sim_wall_clock_s": 0.769,
"sim_wall_clock_s": 0.247,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -636,7 +636,7 @@
"bytes_hbm": 49152,
"arith_intensity": 21.333333333333332,
"tile_count_expected": 8,
"sim_wall_clock_s": 0.649,
"sim_wall_clock_s": 0.359,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -703,7 +703,7 @@
"bytes_hbm": 49152,
"arith_intensity": 21.333333333333332,
"tile_count_expected": 8,
"sim_wall_clock_s": 0.639,
"sim_wall_clock_s": 0.368,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -770,7 +770,7 @@
"bytes_hbm": 49152,
"arith_intensity": 21.333333333333332,
"tile_count_expected": 8,
"sim_wall_clock_s": 0.684,
"sim_wall_clock_s": 0.241,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -837,7 +837,7 @@
"bytes_hbm": 395264,
"arith_intensity": 15.917098445595855,
"tile_count_expected": 48,
"sim_wall_clock_s": 0.623,
"sim_wall_clock_s": 0.318,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -904,7 +904,7 @@
"bytes_hbm": 395264,
"arith_intensity": 15.917098445595855,
"tile_count_expected": 48,
"sim_wall_clock_s": 0.763,
"sim_wall_clock_s": 0.295,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -971,7 +971,7 @@
"bytes_hbm": 395264,
"arith_intensity": 15.917098445595855,
"tile_count_expected": 48,
"sim_wall_clock_s": 0.647,
"sim_wall_clock_s": 0.321,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -1038,7 +1038,7 @@
"bytes_hbm": 36864,
"arith_intensity": 7.111111111111111,
"tile_count_expected": 8,
"sim_wall_clock_s": 0.637,
"sim_wall_clock_s": 0.219,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -1105,7 +1105,7 @@
"bytes_hbm": 36864,
"arith_intensity": 7.111111111111111,
"tile_count_expected": 8,
"sim_wall_clock_s": 0.678,
"sim_wall_clock_s": 0.337,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -1172,7 +1172,7 @@
"bytes_hbm": 36864,
"arith_intensity": 7.111111111111111,
"tile_count_expected": 8,
"sim_wall_clock_s": 0.66,
"sim_wall_clock_s": 0.356,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -1239,7 +1239,7 @@
"bytes_hbm": 36864,
"arith_intensity": 7.111111111111111,
"tile_count_expected": 16,
"sim_wall_clock_s": 0.658,
"sim_wall_clock_s": 0.372,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -1306,7 +1306,7 @@
"bytes_hbm": 36864,
"arith_intensity": 7.111111111111111,
"tile_count_expected": 16,
"sim_wall_clock_s": 0.646,
"sim_wall_clock_s": 0.245,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -1373,7 +1373,7 @@
"bytes_hbm": 36864,
"arith_intensity": 7.111111111111111,
"tile_count_expected": 16,
"sim_wall_clock_s": 0.673,
"sim_wall_clock_s": 0.243,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -1440,7 +1440,7 @@
"bytes_hbm": 1572864,
"arith_intensity": 170.66666666666666,
"tile_count_expected": 2048,
"sim_wall_clock_s": 0.727,
"sim_wall_clock_s": 0.357,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -1507,7 +1507,7 @@
"bytes_hbm": 1572864,
"arith_intensity": 170.66666666666666,
"tile_count_expected": 2048,
"sim_wall_clock_s": 0.707,
"sim_wall_clock_s": 0.364,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,
@@ -1574,7 +1574,7 @@
"bytes_hbm": 1572864,
"arith_intensity": 170.66666666666666,
"tile_count_expected": 2048,
"sim_wall_clock_s": 0.828,
"sim_wall_clock_s": 0.239,
"engines": {
"pe_dma": {
"occupancy_ns": 16594.192,