diff --git a/tests/pe2pe_latency_plots/h5_inter_sip.png b/tests/pe2pe_latency_plots/h5_inter_sip.png deleted file mode 100644 index ca61e51..0000000 Binary files a/tests/pe2pe_latency_plots/h5_inter_sip.png and /dev/null differ diff --git a/tests/pe2pe_latency_plots/overview.png b/tests/pe2pe_latency_plots/overview.png index 1b29591..8914ae7 100644 Binary files a/tests/pe2pe_latency_plots/overview.png and b/tests/pe2pe_latency_plots/overview.png differ diff --git a/tests/pe2pe_latency_plots/summary.csv b/tests/pe2pe_latency_plots/summary.csv index 2fa9201..a94b106 100644 --- a/tests/pe2pe_latency_plots/summary.csv +++ b/tests/pe2pe_latency_plots/summary.csv @@ -79,13 +79,3 @@ h4_inter_cube_vertical,Inter-cube vertical (cube0 to cube4),8192,ipcq,181.659999 h4_inter_cube_vertical,Inter-cube vertical (cube0 to cube4),8192,raw,183.04000000000087 h4_inter_cube_vertical,Inter-cube vertical (cube0 to cube4),10240,ipcq,205.65999999999985 h4_inter_cube_vertical,Inter-cube vertical (cube0 to cube4),10240,raw,207.04000000000087 -h5_inter_sip,"Inter-SIP (sip0 to sip1, same cube/pe)",128,ipcq,6.015000000003056 -h5_inter_sip,"Inter-SIP (sip0 to sip1, same cube/pe)",256,ipcq,6.515000000003056 -h5_inter_sip,"Inter-SIP (sip0 to sip1, same cube/pe)",384,ipcq,7.015000000003056 -h5_inter_sip,"Inter-SIP (sip0 to sip1, same cube/pe)",512,ipcq,7.515000000003056 -h5_inter_sip,"Inter-SIP (sip0 to sip1, same cube/pe)",768,ipcq,8.515000000003056 -h5_inter_sip,"Inter-SIP (sip0 to sip1, same cube/pe)",1024,ipcq,9.515000000003056 -h5_inter_sip,"Inter-SIP (sip0 to sip1, same cube/pe)",2048,ipcq,13.515000000003056 -h5_inter_sip,"Inter-SIP (sip0 to sip1, same cube/pe)",4096,ipcq,21.515000000003056 -h5_inter_sip,"Inter-SIP (sip0 to sip1, same cube/pe)",8192,ipcq,37.51499999999214 -h5_inter_sip,"Inter-SIP (sip0 to sip1, same cube/pe)",10240,ipcq,45.51499999999214 diff --git a/tests/test_pe_to_pe_latency.py b/tests/test_pe_to_pe_latency.py index b1d0afc..622ce7c 100644 --- a/tests/test_pe_to_pe_latency.py +++ b/tests/test_pe_to_pe_latency.py @@ -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]