Files
kernbench2/docs/diagrams/pe2pe_latency_plots/summary.csv
T
ywkang b6315c3c90 paper(1H): reflect D8 single-op cost model in §2/§3.4 + figure/diagram regen
Two strands bundled as the 1H-codesign-paper refresh unit:

(A) This session — single-op cost-model reflection (depends on 2d8271c):
  - §2 Table 2 (tab:hw): split "FIXED per command" into "FIXED per
    single-op command" (8 cycles) and "FIXED per composite command"
    (40 cycles); §2 dispatch-overhead prose updated to the two-class split.
  - §3.4 (sec:gemm-vs-async): rename paragraph headers + prose to
    async-full / async-tiled; "atomic" -> "single-op" throughout; reframe
    mechanism #3 from the old DMA-only fast-path to the single-op
    fast-path. Headline narrative now: even with EVERY single-op cmd
    (96 DMA + 48 dot + 47 add) charged the light 8-cycle FIXED, composite
    still wins ~2.8x at K=3072 purely on command-count structure (1 vs
    192 commands) -- down from the pre-D8 ~6.3x, and explicitly NOT a
    modelling artifact. Numbers refreshed from the regenerated sweep:
    async-full 3.83->3.91, async-tiled 1.14->~2.53, under-tile corner
    1.06->1.21, depth-2 vs depth-inf spread <1%. New figure wired in.
  - build/main.pdf rebuilt (tectonic); pdftotext-verified (no broken
    refs; Table 2 split, single-op terms, 2.8x/2.53/192-host-commands
    all present).

(B) Prior-session paper work riding along uncommitted: §4 all-reduce
    deep-edit, §5 GQA, §6 discussion trims; milestone_1h_ccl.py plot
    label "FSIM" -> "H2 2025 SW queue baseline"; regenerated diagrams
    under docs/diagrams/** and gemm output PNGs under
    1H_milestone_output/gemm/. (Composite-window gemm plots are
    unaffected by D8 — D8 only changes single-op dispatch FIXED, which
    the composite window excludes.)

All TODO items for the D8 single-op extension are now complete and
pushed across 3 commits (2d8271c cost-model+ADR+tests, 821bbf2 bench
harness, this paper refresh). Full regression green (826 passed, 1
skipped). No remaining work.

NOTE for review (carried from 2d8271c): ADR-0065's "2x CPU-offload win"
headline for GQA decode opt2 may want a refresh to the post-D8 ~1.87x.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 15:12:31 -07:00

10 KiB

1hoplabelsize_bytespathtotal_ns
2latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)128ipcq42.88749999999891
3latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)128raw51.57999999999811
4latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)256ipcq46.13749999999891
5latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)256raw54.07999999999811
6latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)384ipcq47.88749999999891
7latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)384raw55.07999999999811
8latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)512ipcq49.63749999999891
9latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)512raw56.07999999999811
10latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)768ipcq53.13749999999891
11latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)768raw58.07999999999811
12latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)1024ipcq56.63749999999891
13latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)1024raw60.07999999999811
14latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)2048ipcq70.63749999999891
15latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)2048raw68.07999999999811
16latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)4096ipcq98.63750000000073
17latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)4096raw84.08000000000175
18latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)8192ipcq154.63750000000073
19latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)8192raw116.08000000000175
20latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)10240ipcq182.63750000000073
21latency_intracube_PE0_to_PE1_horizontalIntra-cube PE-to-PE latency: PE0 → PE1 (horizontal)10240raw132.08000000000175
22latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)128ipcq56.49749999999585
23latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)128raw65.18999999999505
24latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)256ipcq61.24749999999585
25latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)256raw69.18999999999505
26latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)384ipcq62.99749999999585
27latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)384raw70.18999999999505
28latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)512ipcq64.74749999999585
29latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)512raw71.18999999999505
30latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)768ipcq68.24749999999585
31latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)768raw73.18999999999505
32latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)1024ipcq71.74749999999585
33latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)1024raw75.18999999999505
34latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)2048ipcq85.74749999999585
35latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)2048raw83.18999999999505
36latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)4096ipcq113.74750000000131
37latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)4096raw99.19000000000233
38latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)8192ipcq169.7475000000013
39latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)8192raw131.19000000000233
40latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)10240ipcq197.7475000000013
41latency_intracube_PE0_to_PE4_verticalIntra-cube PE-to-PE latency: PE0 → PE4 (vertical)10240raw147.19000000000233
42latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)128ipcq99.15999999999804
43latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)128raw107.28999999999724
44latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)256ipcq106.65999999999804
45latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)256raw113.53999999999724
46latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)384ipcq108.90999999999804
47latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)384raw114.53999999999724
48latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)512ipcq111.15999999999804
49latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)512raw115.53999999999724
50latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)768ipcq115.65999999999804
51latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)768raw117.53999999999724
52latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)1024ipcq121.15999999999804
53latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)1024raw120.53999999999724
54latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)2048ipcq143.15999999999804
55latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)2048raw132.53999999999724
56latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)4096ipcq187.15999999999985
57latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)4096raw156.54000000000087
58latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)8192ipcq275.15999999999985
59latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)8192raw204.54000000000087
60latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)10240ipcq319.15999999999985
61latency_intercube_C0PE0_to_C1PE0_horizontalInter-cube PE-to-PE latency: Cube0.PE0 → Cube1.PE0 (horizontal)10240raw228.54000000000087
62latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)128ipcq121.15999999999804
63latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)128raw129.28999999999724
64latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)256ipcq130.65999999999804
65latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)256raw137.53999999999724
66latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)384ipcq132.90999999999804
67latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)384raw138.53999999999724
68latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)512ipcq135.15999999999804
69latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)512raw139.53999999999724
70latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)768ipcq139.65999999999804
71latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)768raw141.53999999999724
72latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)1024ipcq145.15999999999804
73latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)1024raw144.53999999999724
74latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)2048ipcq167.15999999999804
75latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)2048raw156.53999999999724
76latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)4096ipcq211.15999999999985
77latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)4096raw180.54000000000087
78latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)8192ipcq299.15999999999985
79latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)8192raw228.54000000000087
80latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)10240ipcq343.15999999999985
81latency_intercube_C0PE0_to_C4PE0_verticalInter-cube PE-to-PE latency: Cube0.PE0 → Cube4.PE0 (vertical)10240raw252.54000000000087