From 8102ddbe301b7f4e7fd858ab6c82f30153a19fda Mon Sep 17 00:00:00 2001 From: Mukesh Garg Date: Thu, 18 Jun 2026 11:49:03 -0700 Subject: [PATCH] paper(gqa): rename long-ctx artifacts to gqa_long_ctx_6cases_* and add 4 decode 6-case charts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Filename cleanup so every long-ctx GQA artifact has a consistent "gqa_long_ctx_6cases_*" prefix (or "gqa_decode_long_ctx_6cases_*" for decode-only charts). Old "4cases" / mixed names retired. Renames (long_ctx + figures, content unchanged): gqa_hbm_budget.png -> gqa_long_ctx_6cases_hbm_budget.png gqa_4cases_summary.png -> gqa_long_ctx_6cases_summary.png gqa_4cases_memory_comm_analytical -> gqa_long_ctx_6cases_memory_comm_analytical.png gqa_4cases_memory_comm_paired -> gqa_long_ctx_6cases_memory_comm_paired.png gqa_kv_sharding_6cases_diagram -> gqa_long_ctx_6cases_kv_sharding_diagram.png gqa_kv_sharding_6cases_table -> gqa_long_ctx_6cases_kv_sharding_table.png gqa_3cases_measured_comm.json -> gqa_long_ctx_6cases_measured_comm.json gqa_decode_long_ctx_4cases_*.png -> gqa_decode_long_ctx_6cases_*.png (figures dir; long_ctx never had old) New 4-chart 6-case set in long_ctx output dir (regenerated by paper_plot_gqa_decode_long_ctx_4cases.py, which now reads all 6 sweep_decode.json panels — Cases 1-6 with the same colour scheme used elsewhere: red = overflow per-PE HBM, grey = neutral, blue = Pareto-best ★): gqa_decode_long_ctx_6cases_latency.png gqa_decode_long_ctx_6cases_memory.png gqa_decode_long_ctx_6cases_parallelism.png gqa_decode_long_ctx_6cases_traffic.png Generator scripts updated to write the new filenames + handle the two new d_head-TP variants (Cases 4, 5) in their per-PE memory and active-PE-count helpers. Figure widths bumped 10 -> 12 in to fit 6 multi-line case labels. Co-Authored-By: Claude Opus 4.7 --- ...=> gqa_decode_long_ctx_6cases_latency.png} | Bin ... => gqa_decode_long_ctx_6cases_memory.png} | Bin ...qa_decode_long_ctx_6cases_parallelism.png} | Bin ...=> gqa_decode_long_ctx_6cases_traffic.png} | Bin ...png => gqa_long_ctx_6cases_hbm_budget.png} | Bin ...a_long_ctx_6cases_kv_sharding_diagram.png} | Bin ...gqa_long_ctx_6cases_kv_sharding_table.png} | Bin ...ong_ctx_6cases_memory_comm_analytical.png} | Bin ...qa_long_ctx_6cases_memory_comm_paired.png} | Bin ...ry.png => gqa_long_ctx_6cases_summary.png} | Bin .../measure_gqa_decode_placement_comm.py | 2 +- .../paper/paper_plot_gqa_4cases_summary.py | 10 +- .../paper_plot_gqa_decode_long_ctx_4cases.py | 142 +++++++++++------- .../paper_plot_gqa_kv_sharding_diagram.py | 4 +- .../gqa_decode_long_ctx_6cases_latency.png | Bin 0 -> 59116 bytes .../gqa_decode_long_ctx_6cases_memory.png | Bin 0 -> 52216 bytes ...gqa_decode_long_ctx_6cases_parallelism.png | Bin 0 -> 75662 bytes .../gqa_decode_long_ctx_6cases_traffic.png | Bin 0 -> 45660 bytes ...png => gqa_long_ctx_6cases_hbm_budget.png} | Bin ...a_long_ctx_6cases_kv_sharding_diagram.png} | Bin ...gqa_long_ctx_6cases_kv_sharding_table.png} | Bin ...=> gqa_long_ctx_6cases_measured_comm.json} | 0 ...ong_ctx_6cases_memory_comm_analytical.png} | Bin ...qa_long_ctx_6cases_memory_comm_paired.png} | Bin ...ry.png => gqa_long_ctx_6cases_summary.png} | Bin 25 files changed, 99 insertions(+), 59 deletions(-) rename docs/report/1H-codesign-paper/figures/{gqa_decode_long_ctx_4cases_latency.png => gqa_decode_long_ctx_6cases_latency.png} (100%) rename docs/report/1H-codesign-paper/figures/{gqa_decode_long_ctx_4cases_memory.png => gqa_decode_long_ctx_6cases_memory.png} (100%) rename docs/report/1H-codesign-paper/figures/{gqa_decode_long_ctx_4cases_parallelism.png => gqa_decode_long_ctx_6cases_parallelism.png} (100%) rename docs/report/1H-codesign-paper/figures/{gqa_decode_long_ctx_4cases_traffic.png => gqa_decode_long_ctx_6cases_traffic.png} (100%) rename docs/report/1H-codesign-paper/figures/{gqa_hbm_budget.png => gqa_long_ctx_6cases_hbm_budget.png} (100%) rename docs/report/1H-codesign-paper/figures/{gqa_kv_sharding_6cases_diagram.png => gqa_long_ctx_6cases_kv_sharding_diagram.png} (100%) rename docs/report/1H-codesign-paper/figures/{gqa_kv_sharding_6cases_table.png => gqa_long_ctx_6cases_kv_sharding_table.png} (100%) rename docs/report/1H-codesign-paper/figures/{gqa_4cases_memory_comm_analytical.png => gqa_long_ctx_6cases_memory_comm_analytical.png} (100%) rename docs/report/1H-codesign-paper/figures/{gqa_4cases_memory_comm_paired.png => gqa_long_ctx_6cases_memory_comm_paired.png} (100%) rename docs/report/1H-codesign-paper/figures/{gqa_4cases_summary.png => gqa_long_ctx_6cases_summary.png} (100%) create mode 100644 src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_latency.png create mode 100644 src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_memory.png create mode 100644 src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_parallelism.png create mode 100644 src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_traffic.png rename src/kernbench/benches/1H_milestone_output/gqa/long_ctx/{gqa_hbm_budget.png => gqa_long_ctx_6cases_hbm_budget.png} (100%) rename src/kernbench/benches/1H_milestone_output/gqa/long_ctx/{gqa_kv_sharding_6cases_diagram.png => gqa_long_ctx_6cases_kv_sharding_diagram.png} (100%) rename src/kernbench/benches/1H_milestone_output/gqa/long_ctx/{gqa_kv_sharding_6cases_table.png => gqa_long_ctx_6cases_kv_sharding_table.png} (100%) rename src/kernbench/benches/1H_milestone_output/gqa/long_ctx/{gqa_3cases_measured_comm.json => gqa_long_ctx_6cases_measured_comm.json} (100%) rename src/kernbench/benches/1H_milestone_output/gqa/long_ctx/{gqa_4cases_memory_comm_analytical.png => gqa_long_ctx_6cases_memory_comm_analytical.png} (100%) rename src/kernbench/benches/1H_milestone_output/gqa/long_ctx/{gqa_4cases_memory_comm_paired.png => gqa_long_ctx_6cases_memory_comm_paired.png} (100%) rename src/kernbench/benches/1H_milestone_output/gqa/long_ctx/{gqa_4cases_summary.png => gqa_long_ctx_6cases_summary.png} (100%) diff --git a/docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_4cases_latency.png b/docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_6cases_latency.png similarity index 100% rename from docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_4cases_latency.png rename to docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_6cases_latency.png diff --git a/docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_4cases_memory.png b/docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_6cases_memory.png similarity index 100% rename from docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_4cases_memory.png rename to docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_6cases_memory.png diff --git a/docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_4cases_parallelism.png b/docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_6cases_parallelism.png similarity index 100% rename from docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_4cases_parallelism.png rename to docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_6cases_parallelism.png diff --git a/docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_4cases_traffic.png b/docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_6cases_traffic.png similarity index 100% rename from docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_4cases_traffic.png rename to docs/report/1H-codesign-paper/figures/gqa_decode_long_ctx_6cases_traffic.png diff --git a/docs/report/1H-codesign-paper/figures/gqa_hbm_budget.png b/docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_hbm_budget.png similarity index 100% rename from docs/report/1H-codesign-paper/figures/gqa_hbm_budget.png rename to docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_hbm_budget.png diff --git a/docs/report/1H-codesign-paper/figures/gqa_kv_sharding_6cases_diagram.png b/docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_kv_sharding_diagram.png similarity index 100% rename from docs/report/1H-codesign-paper/figures/gqa_kv_sharding_6cases_diagram.png rename to docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_kv_sharding_diagram.png diff --git a/docs/report/1H-codesign-paper/figures/gqa_kv_sharding_6cases_table.png b/docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_kv_sharding_table.png similarity index 100% rename from docs/report/1H-codesign-paper/figures/gqa_kv_sharding_6cases_table.png rename to docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_kv_sharding_table.png diff --git a/docs/report/1H-codesign-paper/figures/gqa_4cases_memory_comm_analytical.png b/docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_memory_comm_analytical.png similarity index 100% rename from docs/report/1H-codesign-paper/figures/gqa_4cases_memory_comm_analytical.png rename to docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_memory_comm_analytical.png diff --git a/docs/report/1H-codesign-paper/figures/gqa_4cases_memory_comm_paired.png b/docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_memory_comm_paired.png similarity index 100% rename from docs/report/1H-codesign-paper/figures/gqa_4cases_memory_comm_paired.png rename to docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_memory_comm_paired.png diff --git a/docs/report/1H-codesign-paper/figures/gqa_4cases_summary.png b/docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_summary.png similarity index 100% rename from docs/report/1H-codesign-paper/figures/gqa_4cases_summary.png rename to docs/report/1H-codesign-paper/figures/gqa_long_ctx_6cases_summary.png diff --git a/scripts/paper/measure_gqa_decode_placement_comm.py b/scripts/paper/measure_gqa_decode_placement_comm.py index 5651424..2a9ac87 100644 --- a/scripts/paper/measure_gqa_decode_placement_comm.py +++ b/scripts/paper/measure_gqa_decode_placement_comm.py @@ -349,7 +349,7 @@ def main() -> int: Path(__file__).resolve().parents[2] / "src" / "kernbench" / "benches" / "1H_milestone_output" / "gqa" / "long_ctx" - / "gqa_3cases_measured_comm.json" + / "gqa_long_ctx_6cases_measured_comm.json" ) out_path.parent.mkdir(parents=True, exist_ok=True) out_path.write_text(json.dumps(out, indent=2)) diff --git a/scripts/paper/paper_plot_gqa_4cases_summary.py b/scripts/paper/paper_plot_gqa_4cases_summary.py index b4ecc70..b5b9a37 100644 --- a/scripts/paper/paper_plot_gqa_4cases_summary.py +++ b/scripts/paper/paper_plot_gqa_4cases_summary.py @@ -241,7 +241,7 @@ _OUT_DIR = ( / "src" / "kernbench" / "benches" / "1H_milestone_output" / "gqa" / "long_ctx" ) -_MEASURED_JSON = _OUT_DIR / "gqa_3cases_measured_comm.json" +_MEASURED_JSON = _OUT_DIR / "gqa_long_ctx_6cases_measured_comm.json" def _load_measured() -> dict[int, float] | None: @@ -537,7 +537,7 @@ def main() -> Path: fig_b, ax_b = plt.subplots(figsize=(4.0, 6.0)) _plot_budget(ax_b) fig_b.tight_layout() - out_b = _OUT_DIR / "gqa_hbm_budget.png" + out_b = _OUT_DIR / "gqa_long_ctx_6cases_hbm_budget.png" fig_b.savefig(out_b, dpi=150) plt.close(fig_b) print(f"wrote {out_b}") @@ -552,7 +552,7 @@ def main() -> Path: _plot_memory(ax_m) _plot_comm(ax_c) fig.tight_layout() - out = _OUT_DIR / "gqa_4cases_summary.png" + out = _OUT_DIR / "gqa_long_ctx_6cases_summary.png" fig.savefig(out, dpi=150) plt.close(fig) print(f"wrote {out}") @@ -565,7 +565,7 @@ def main() -> Path: _plot_memory(ax_m2) _plot_comm(ax_c2, mode="analytical") fig2.tight_layout() - out2 = _OUT_DIR / "gqa_4cases_memory_comm_analytical.png" + out2 = _OUT_DIR / "gqa_long_ctx_6cases_memory_comm_analytical.png" fig2.savefig(out2, dpi=150) plt.close(fig2) print(f"wrote {out2}") @@ -578,7 +578,7 @@ def main() -> Path: _plot_memory(ax_m3) _plot_comm(ax_c3, mode="paired") fig3.tight_layout() - out3 = _OUT_DIR / "gqa_4cases_memory_comm_paired.png" + out3 = _OUT_DIR / "gqa_long_ctx_6cases_memory_comm_paired.png" fig3.savefig(out3, dpi=150) plt.close(fig3) print(f"wrote {out3}") diff --git a/scripts/paper/paper_plot_gqa_decode_long_ctx_4cases.py b/scripts/paper/paper_plot_gqa_decode_long_ctx_4cases.py index dd11408..b8d04c9 100644 --- a/scripts/paper/paper_plot_gqa_decode_long_ctx_4cases.py +++ b/scripts/paper/paper_plot_gqa_decode_long_ctx_4cases.py @@ -1,13 +1,25 @@ """Comparative figures for milestone-gqa-decode-long-ctx-4cases. -Reads sweep.json (emitted by ``kernbench run --bench -milestone-gqa-decode-long-ctx-4cases``) and writes four PNGs into -``docs/report/1H-codesign-paper/figures/``: +Reads sweep_decode.json (emitted by the milestone-1h-gqa bench) and +writes four PNGs into the same bench-output dir +(src/kernbench/benches/1H_milestone_output/gqa/long_ctx/): - gqa_decode_long_ctx_4cases_latency.png end-to-end latency per case - gqa_decode_long_ctx_4cases_traffic.png ipcq/dma op-count breakdown - gqa_decode_long_ctx_4cases_memory.png per-PE KV bytes per case - gqa_decode_long_ctx_4cases_parallelism.png per-PE S_local (compute work) + gqa_decode_long_ctx_6cases_latency.png end-to-end latency per case + gqa_decode_long_ctx_6cases_traffic.png ipcq/dma op-count breakdown + gqa_decode_long_ctx_6cases_memory.png per-PE KV bytes per case + gqa_decode_long_ctx_6cases_parallelism.png per-PE S_local (compute work) + +Filename still says "4cases" for backwards compat, but the script now +covers all SIX kv-sharding strategies from the analytical chart +(`gqa_4cases_summary.png`) — the original 4 plus the two new +d_head-TP variants: + + Case 1 Cube-Repl × PE-repl (PE-TP doesn't shard KV) + Case 2 Cube-SP × PE-repl + Case 3 Cube-Repl × PE-SP + Case 4 Cube-SP × PE-TP-d_head ← NEW + Case 5 Cube-TP-d_head × PE-SP ← NEW + Case 6 ★ Cube-SP × PE-SP (Pareto-best) Run (after the bench): GQA_DECODE_LONG_CTX_4CASES_RUN=1 python -m kernbench.cli.main run \\ @@ -32,16 +44,27 @@ _FIG_DIR = ( ) _SWEEP_JSON = _FIG_DIR / "sweep_decode.json" -# Panel name → (short label, case ordinal for left-to-right plot order). +# Panel name → (short label, case ordinal, accent flag) using the +# analytical chart's memory-descending ordering. PE-TP doesn't shard +# KV memory, so the cube_repl_pe_tp panel maps to Case 1 (no +# sharding, KV-wise) and cube_sp_pe_tp panel maps to Case 2. +_NORMAL, _OVERFLOW, _PARETO = "normal", "overflow", "pareto" + _CASE_INFO = { - "single_kv_group_decode_long_ctx_gqa_cube_sp_pe_tp": ( - "Case 1\nCube-SP × PE-TP", 1), - "single_kv_group_decode_long_ctx_gqa_cube_repl_pe_tp": ( - "Case 2\nCube-Repl × PE-TP", 2), - "single_kv_group_decode_long_ctx_gqa_cube_repl_pe_sp": ( - "Case 3\nCube-Repl × PE-SP", 3), - "single_kv_group_decode_long_ctx_gqa_cube_sp_pe_sp": ( - "Case 4 ★\nCube-SP × PE-SP", 4), + # panel name label ord flag + "single_kv_group_decode_long_ctx_gqa_cube_repl_pe_tp": ("Case 1\nCube-Repl × PE-repl", 1, _OVERFLOW), + "single_kv_group_decode_long_ctx_gqa_cube_sp_pe_tp": ("Case 2\nCube-SP × PE-repl", 2, _OVERFLOW), + "single_kv_group_decode_long_ctx_gqa_cube_repl_pe_sp": ("Case 3\nCube-Repl × PE-SP", 3, _OVERFLOW), + "single_kv_group_decode_long_ctx_gqa_cube_sp_pe_tp_dhead": ("Case 4\nCube-SP × PE-TP-d_head", 4, _NORMAL), + "single_kv_group_decode_long_ctx_gqa_cube_tp_dhead_pe_sp": ("Case 5\nCube-TP-d_head × PE-SP", 5, _NORMAL), + "single_kv_group_decode_long_ctx_gqa_cube_sp_pe_sp": ("Case 6 ★\nCube-SP × PE-SP", 6, _PARETO), +} + +# Bar fill colour per flag (used by every panel). +_FLAG_COLOR = { + _NORMAL: "#888888", # neutral grey + _OVERFLOW: "#c0504d", # red — fails the per-PE HBM budget + _PARETO: "#3b6ea5", # blue — Pareto-best } @@ -53,23 +76,26 @@ def _sorted_by_case(rows: list[dict]) -> list[dict]: return sorted(rows, key=lambda r: _CASE_INFO[r["panel"]][1]) +def _bar_colors(rows: list[dict]) -> list[str]: + return [_FLAG_COLOR[_CASE_INFO[r["panel"]][2]] for r in rows] + + def _plot_latency(rows: list[dict]) -> Path: rows = _sorted_by_case(rows) labels = [_CASE_INFO[r["panel"]][0] for r in rows] lat_us = [r["latency_ns"] / 1e3 for r in rows] - colors = ["#888", "#888", "#888", "#3b6ea5"] # Case 4 highlighted - fig, ax = plt.subplots(figsize=(8.0, 4.5)) - bars = ax.bar(labels, lat_us, color=colors, width=0.6) + fig, ax = plt.subplots(figsize=(12.0, 4.8)) + bars = ax.bar(labels, lat_us, color=_bar_colors(rows), width=0.6) ax.set_ylabel("end-to-end latency (µs)") ax.set_title( - "Long-context decode 4-cases — end-to-end latency per case\n" + "Long-context decode 6-cases — end-to-end latency per case\n" "LLaMA-3.1-70B single-KV-head group (8 cubes × 8 PEs)" ) ax.bar_label(bars, fmt="%.1f", padding=3, fontsize=9) ax.grid(axis="y", ls=":", alpha=0.5) ax.set_ylim(0, max(lat_us) * 1.15) fig.tight_layout() - out = _FIG_DIR / "gqa_decode_long_ctx_4cases_latency.png" + out = _FIG_DIR / "gqa_decode_long_ctx_6cases_latency.png" fig.savefig(out, dpi=150) plt.close(fig) return out @@ -83,18 +109,18 @@ def _plot_traffic(rows: list[dict]) -> Path: disp = ["IPCQ copy", "DMA read", "DMA write"] colors = ["#c0504d", "#9bbb59", "#8064a2"] w = 0.25 - fig, ax = plt.subplots(figsize=(9.0, 4.5)) + fig, ax = plt.subplots(figsize=(11.0, 4.5)) for i, (k, d, c) in enumerate(zip(keys, disp, colors)): vals = [r["op_log_summary"][k] for r in rows] ax.bar([xi + (i - 1) * w for xi in x], vals, width=w, label=d, color=c) ax.set_xticks(list(x)) ax.set_xticklabels(labels, fontsize=9) ax.set_ylabel("op count") - ax.set_title("Long-context decode 4-cases — op-count breakdown per case") + ax.set_title("Long-context decode 6-cases — op-count breakdown per case") ax.legend(fontsize=9) ax.grid(axis="y", ls=":", alpha=0.5) fig.tight_layout() - out = _FIG_DIR / "gqa_decode_long_ctx_4cases_traffic.png" + out = _FIG_DIR / "gqa_decode_long_ctx_6cases_traffic.png" fig.savefig(out, dpi=150) plt.close(fig) return out @@ -103,27 +129,41 @@ def _plot_traffic(rows: list[dict]) -> Path: def _s_local_per_pe(panel: str, *, S_kv: int, C: int, P: int) -> int: """S_local (token count) each PE attends over locally. - Encodes the cube/pe sharding axes from the panel name: - cube_sp_pe_tp (Case 1): S_kv / C (pe=replicate within cube) - cube_repl_pe_tp (Case 2): S_kv (pe=replicate; only 1 PE works) - cube_repl_pe_sp (Case 3): S_kv / P (pe=row_wise within cube) - cube_sp_pe_sp (Case 4): S_kv / (C·P) (★ 64-way split) + cube_repl_pe_tp (Case 1): S_kv (no sharding, KV-wise) + cube_sp_pe_tp (Case 2): S_kv / C (cube splits S_kv, PEs replicate) + cube_repl_pe_sp (Case 3): S_kv / P + cube_sp_pe_tp_dhead (Case 4): S_kv / C (cube splits S_kv, PE splits d_head) + cube_tp_dhead_pe_sp (Case 5): S_kv / P (cube splits d_head, PE splits S_kv) + cube_sp_pe_sp (Case 6 ★): S_kv / (C·P) """ - S_per_cube = S_kv if "cube_repl" in panel else S_kv // C - return S_per_cube // P if "pe_sp" in panel else S_per_cube + cube_splits_s = "cube_sp" in panel + pe_splits_s = "pe_sp" in panel + S_per_cube = S_kv // C if cube_splits_s else S_kv + return S_per_cube // P if pe_splits_s else S_per_cube + + +def _d_head_per_pe(panel: str, *, d_head: int, C: int, P: int) -> int: + """d_head dims each PE owns (Cases 4 and 5 shard d_head).""" + if "cube_tp_dhead" in panel: # Case 5: cube shards d_head + return d_head // C + if "pe_tp_dhead" in panel: # Case 4: PE shards d_head + return d_head // P + return d_head # Cases 1, 2, 3, 6: full d_head per PE def _active_pe_count(panel: str, *, C: int, P: int) -> int: """Number of PEs doing non-idle attention work. - cube_sp_pe_tp (Case 1): C (PE 0 of each cube; 7 PEs idle per cube) - cube_repl_pe_tp (Case 2): 1 (only PE 0 of CUBE 0) - cube_repl_pe_sp (Case 3): C·P (all PEs busy, but cubes are redundant) - cube_sp_pe_sp (Case 4): C·P (all 64 PEs doing unique work) + cube_repl_pe_tp (Case 1): 1 (PE-TP idle for B=1; only one PE works) + cube_sp_pe_tp (Case 2): C (PE 0 of each cube; 7 PEs idle per cube) + cube_repl_pe_sp (Case 3): C·P (all PEs busy, cube-side redundant) + cube_sp_pe_tp_dhead (Case 4): C·P (PE shards d_head — all 64 active) + cube_tp_dhead_pe_sp (Case 5): C·P (PE shards S_kv — all active) + cube_sp_pe_sp (Case 6 ★): C·P (all 64 PEs doing unique work) """ - if "cube_repl" in panel and "pe_tp" in panel: + if "cube_repl" in panel and "pe_tp" in panel and "dhead" not in panel: return 1 - if "cube_sp" in panel and "pe_tp" in panel: + if "cube_sp" in panel and "pe_tp" in panel and "dhead" not in panel: return C return C * P @@ -132,11 +172,12 @@ def _kv_bytes_per_pe(panel: str, *, S_kv: int, h_kv: int, d_head: int, C: int, P: int) -> int: """KV bytes a single PE references (K + V, f16, 2 B/elem).""" s_local = _s_local_per_pe(panel, S_kv=S_kv, C=C, P=P) - return 2 * s_local * h_kv * d_head * 2 + d_local = _d_head_per_pe(panel, d_head=d_head, C=C, P=P) + return 2 * s_local * h_kv * d_local * 2 def _plot_memory(rows: list[dict]) -> Path: - """Per-PE KV bytes — Case 4 wins (64-way split).""" + """Per-PE KV bytes — Case 6 ★ wins (64-way split).""" rows = _sorted_by_case(rows) labels = [_CASE_INFO[r["panel"]][0] for r in rows] mib_per_pe = [ @@ -146,26 +187,25 @@ def _plot_memory(rows: list[dict]) -> Path: ) / (1024 * 1024) for r in rows ] - colors = ["#888", "#c0504d", "#888", "#3b6ea5"] # 4 highlighted, 2 marked red - fig, ax = plt.subplots(figsize=(8.0, 4.5)) - bars = ax.bar(labels, mib_per_pe, color=colors, width=0.6) + fig, ax = plt.subplots(figsize=(12.0, 4.8)) + bars = ax.bar(labels, mib_per_pe, color=_bar_colors(rows), width=0.6) ax.set_ylabel("KV bytes per PE (MiB, K + V, f16)") ax.set_title( - "Long-context decode 4-cases — KV memory per PE\n" + "Long-context decode 6-cases — KV memory per PE\n" "(one KV-head group; per-layer, per-token state)" ) ax.bar_label(bars, fmt="%.3f", padding=3, fontsize=9) ax.grid(axis="y", ls=":", alpha=0.5) ax.set_ylim(0, max(mib_per_pe) * 1.15) fig.tight_layout() - out = _FIG_DIR / "gqa_decode_long_ctx_4cases_memory.png" + out = _FIG_DIR / "gqa_decode_long_ctx_6cases_memory.png" fig.savefig(out, dpi=150) plt.close(fig) return out def _plot_parallelism(rows: list[dict]) -> Path: - """Total active PE-token compute load — exposes Case 3's redundancy.""" + """Total active PE-token compute load — exposes redundant-work cases.""" rows = _sorted_by_case(rows) labels = [_CASE_INFO[r["panel"]][0] for r in rows] total_work = [ @@ -173,19 +213,19 @@ def _plot_parallelism(rows: list[dict]) -> Path: * _s_local_per_pe(r["panel"], S_kv=r["S_kv"], C=r["C"], P=r["P"]) for r in rows ] - colors = ["#888", "#888", "#c0504d", "#3b6ea5"] # 4 highlighted, 3 marked red - fig, ax = plt.subplots(figsize=(8.0, 4.5)) - bars = ax.bar(labels, total_work, color=colors, width=0.6) + fig, ax = plt.subplots(figsize=(12.0, 4.8)) + bars = ax.bar(labels, total_work, color=_bar_colors(rows), width=0.6) ax.set_ylabel("active-PE × S_local (PE-tokens; lower ⇒ less wasted work)") ax.set_title( - "Long-context decode 4-cases — total compute load across active PEs\n" - "(Case 3 replicates the full K/V across 8 cubes ⇒ 8× wasted PE-tokens)" + "Long-context decode 6-cases — total compute load across active PEs\n" + "(Case 3 replicates KV across 8 cubes → 8× wasted PE-tokens; " + "Case 6 ★ is fully parallel without replication)" ) ax.bar_label(bars, fmt="%d", padding=3, fontsize=9) ax.grid(axis="y", ls=":", alpha=0.5) ax.set_ylim(0, max(total_work) * 1.15) fig.tight_layout() - out = _FIG_DIR / "gqa_decode_long_ctx_4cases_parallelism.png" + out = _FIG_DIR / "gqa_decode_long_ctx_6cases_parallelism.png" fig.savefig(out, dpi=150) plt.close(fig) return out diff --git a/scripts/paper/paper_plot_gqa_kv_sharding_diagram.py b/scripts/paper/paper_plot_gqa_kv_sharding_diagram.py index 516b535..a00d470 100644 --- a/scripts/paper/paper_plot_gqa_kv_sharding_diagram.py +++ b/scripts/paper/paper_plot_gqa_kv_sharding_diagram.py @@ -241,7 +241,7 @@ def _make_table_png() -> Path: "(LLaMA 70B GQA single KV-head group · S_kv = 1 M, FP16, 80 layers)", fontsize=12, y=0.97, ) - out = _OUT_DIR / "gqa_kv_sharding_6cases_table.png" + out = _OUT_DIR / "gqa_long_ctx_6cases_kv_sharding_table.png" fig.savefig(out, dpi=150, bbox_inches="tight") plt.close(fig) print(f"wrote {out}") @@ -309,7 +309,7 @@ def main() -> Path: fontsize=12, y=0.99, ) - out = _OUT_DIR / "gqa_kv_sharding_6cases_diagram.png" + out = _OUT_DIR / "gqa_long_ctx_6cases_kv_sharding_diagram.png" fig.savefig(out, dpi=150, bbox_inches="tight") plt.close(fig) print(f"wrote {out}") diff --git a/src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_latency.png b/src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_latency.png new file mode 100644 index 0000000000000000000000000000000000000000..7dc98825145919137678ec7cb90d901046003807 GIT binary patch literal 59116 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 G=l=nRuebyN literal 0 HcmV?d00001 diff --git a/src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_memory.png b/src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_memory.png new file mode 100644 index 0000000000000000000000000000000000000000..bc30493b36ecd53eb6e33330076863bf0282dd19 GIT binary patch literal 52216 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 IUB~eM063z_*Z=?k literal 0 HcmV?d00001 diff --git a/src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_parallelism.png b/src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_parallelism.png new file mode 100644 index 0000000000000000000000000000000000000000..7c4c2285fe758bcbd80393dce8a456fb2073a5e7 GIT binary patch literal 75662 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 literal 0 HcmV?d00001 diff --git a/src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_traffic.png b/src/kernbench/benches/1H_milestone_output/gqa/long_ctx/gqa_decode_long_ctx_6cases_traffic.png new file mode 100644 index 0000000000000000000000000000000000000000..b95121f72314234217d7d0132df45e09aa277a68 GIT binary patch literal 45660 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%0Dw3CXE! z#v2kG=6lEO;lY@TfQn@$5J8HOY=hW~ERzlg6P*Yc13`QyaE2Ow7+@OS;S$1 z1N|uKCr-<`YWA(~uI*RhW_wQl-m(v36i>NqSQk6``}ZI4)rn^?iP+YqGrotG-NrXtkRH4@a))JIg+h!7p|)*YZ~_>My0O}c+J0M@sL7?&Xc zwMg~=9GgN#*o-~26k`!_4)=|Je)Q>g2h?N+Qg9^3PMF^Zt%+;H$!O2KufWwgLGEr5 zz>C&p5bAAVtP9w$t)kYm#yH(?mo@Utk^wAEg_kk3I*jDYd;(al2*f!~K*kjTtlV~c z*ab@B@ji+o5{9d8THDMyBqe|JlKWe(WmZn!IL0A_|d;}g-u0y@92eWk?o9O#pX zWon1idE*Qn;B9Y68kmN>FV*aXixEETAG;m%Cvh=uk7w%zukav_lMS@IhJk&6O>~!D z-CcSX`19^W-Gh#HU?ZRJo*tTing={iaup!^ok;Mqesp7`4oVwc+WhupWp-`QD*b#~ z`UPn7C^iMUQs}rm+KF!Z32tqJI(XY`5(sSyOOcy?7d3J|TMU(z))B9eUkY3WZ=9&T zV~!uqZDHD^nZsU)5lF{CpZVB1AS+qMbM(G>9qlHSS*d_Fr~~`r+3Ke^BBjk7O$EM` zfXJ$P(i<0BV1WN5hx#3U%Rw!Hs%NImX*zldxN4(7DayTPw$!tcR8OmTL%8rW%i!B0 z+1FFckBGAzy>NvLa#$8P`*rk%k8%?gaG#0h6A&i?RiSVFP7uAY(jcv>=JQptC&SmQ zqHbQPI6`32*TX~g6#EC^j?RfEBj0yeNcF#Xwwh=4OP1U(xZnr-PM22J(FTv^ZUd-x>ozivhWccN~C6Cc>SKlo9;-x$;aHU6(U15mm$0J9%F%T>mQe_ige5@WOwdgUY_~FtGVM1?CiRbin z1ly!8?CZBG66Xm{`G^dDk|xa`(ksWVqm}ggCWX!HsW%RiQInWUK233=V6LB*co$sT zql`Twm|ihUsDr(v;&gB{%<>t{g%?xPnU1iB6zKOA^V$4GeYR$vGuUoo6-fshZanF7Lx4{?7UJ#E@r z&nzWuJ$46{i8n?*%G6O8s$_{*2p+y%fj~B27pCTK?a8n#$gYrlK3Ed-uz0@Wy}`K6 zFm;LG!6RavV^JqYuQ+y`es$L`xcu|0R_*2}(aCrAu#6^L`BV}c@G0^R`$*~Y6;ix0 z(rt|#n=-M;tgv+PIX%hICYyQ@?mLO{wB_Zsj)Z$+6Qr?Uzl9LkQ9dvV4COiaAA9&( zdTvi}X>Q-d!}7|?O`r?!T<0H)VODzLkat1M@w`*zqIUxA6MVQmT3T4c{s0GG*UUD_ zR1&k?pwlQSx~3=LY}vOrk=uU*2ci_N)orM1Iw};l^x@5}_?A*>cSojtW0cypoqb>RH%wU?mD zdYi-v{H)w!S3r%Mc~+&X_Emgb)Lts6bH1HdTJ8J8-JqegjpsHBuW{!)l>$5uwC?@K zXT1|Hgzf*=2U@iG<<1WsnP$!W$=876`FdYXfyG%+c=Xn+rN9NikIM9Ii{|J){;;U| z%|R~Vutm>iD_q}@vguT|Q}q)WivkCm`WnX7n)zWHIWt?|_?so(lwQZW)O3F0#PnCZ z|CG)j@0EW3tT)3q8#rCJ3%J%SiI=nc3UJL#)e`UiIk3U4`8Jh7=Vur?ubH1H+WX1n z=iw~5xYjcN1oet1;Dsg@vDcqTSpG5m1S~g>%m!Z3`(c4MaO*||D`>pRADA2B_t)Kh zTUYhO#a#2l{3mffN-ZjO8$_C}p9NOlwmO$QA2GgGjNt#>o$JftS(WgUWpzfxi9^wS z6P`5G8bjBuOmOg!ybz1BhJ`~><>W)8RWh8C@rM7_Drhy7+6y`fbpa>mD&N>As{?E8 zRX_)vDFH5b3FHQ@SA(sD5i;Tkmy+i&Khr8RDT3SbM#^1zU?RA$18wrYsq5G!e1 zH0~%