PE-to-PE latency: drop h5 inter-SIP panel from overview

Remove h5_inter_sip from the hop list and switch the overview grid
from 2x3 to 2x2. RAW DMA was unavailable for the cross-SIP hop, so
the panel only carried IPCQ data and was redundant with h4_inter_cube
for the topology comparison.

Regenerate pe2pe_latency_plots/overview.png and summary.csv; delete
the obsolete h5_inter_sip.png.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-27 16:43:28 -07:00
parent 04c912f53e
commit 46291bf91b
4 changed files with 3 additions and 24 deletions
+3 -14
View File
@@ -1,15 +1,12 @@
"""PE-to-PE latency sweep across hop types and data sizes.
Compares IPCQ send/recv vs raw-DMA (tl.load + tl.store) latency for five
Compares IPCQ send/recv vs raw-DMA (tl.load + tl.store) latency for four
hop types:
H1 Intra-cube horizontal pe0 → pe1
H2 Intra-cube vertical pe0 → pe4
H3 Inter-cube horizontal sip0.cube0.pe0 → sip0.cube1.pe0
H4 Inter-cube vertical sip0.cube0.pe0 → sip0.cube4.pe0
H5 Inter-SIP sip0.cube0.pe0 → sip1.cube0.pe0 (IPCQ only —
raw needs
cross-SIP MMU)
Sizes: 128..10240 bytes. Emits PNGs with both lines plus a CSV.
"""
@@ -48,7 +45,7 @@ class Hop:
dst: tuple[int, int, int]
send_dir: str
recv_dir: str
supports_raw: bool # False for cross-SIP (DPPolicy intra-device only)
supports_raw: bool
HOPS = [
@@ -60,8 +57,6 @@ HOPS = [
(0, 0, 0), (0, 1, 0), "E", "W", True),
Hop("h4_inter_cube_vertical", "Inter-cube vertical (cube0 to cube4)",
(0, 0, 0), (0, 4, 0), "S", "N", True),
Hop("h5_inter_sip", "Inter-SIP (sip0 to sip1, same cube/pe)",
(0, 0, 0), (1, 0, 0), "global_E", "global_W", False),
]
@@ -251,12 +246,6 @@ def _plot_per_hop(records, hop: Hop, path: Path) -> None:
[r["total_ns"] for r in raw],
marker="s", label="Raw DMA (load+store)", color="tab:orange",
)
else:
ax.text(
0.98, 0.02, "(Raw DMA unavailable for cross-SIP)",
transform=ax.transAxes, ha="right", va="bottom",
fontsize=9, color="gray",
)
ax.set_xlabel("Data size (bytes)")
ax.set_ylabel("Latency (ns)")
ax.set_title(hop.label)
@@ -270,7 +259,7 @@ def _plot_per_hop(records, hop: Hop, path: Path) -> None:
def _plot_overview(records, path: Path) -> None:
import matplotlib.pyplot as plt
fig, axes = plt.subplots(2, 3, figsize=(16, 9))
fig, axes = plt.subplots(2, 2, figsize=(13, 9))
axes = axes.flatten()
for i, hop in enumerate(HOPS):
ax = axes[i]