From f50a1c44ea15d7fda8db46f44cc80754ec2457bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=5BQuy=20Anh=5D=20=C2=ABElliot=C2=BB=20Nguyen?= <23906-nguyenquy@users.noreply.gitlab.inf.ethz.ch> Date: Thu, 4 Jun 2026 12:32:41 +0200 Subject: [PATCH] Plot Update --- analysis/fig_roofline.png | Bin 92240 -> 0 bytes analysis/fig_roofline.svg | 8042 +++++++++++++++++++++++++++++++++++++ analysis/fig_speedup.png | Bin 107037 -> 0 bytes analysis/fig_speedup.svg | 7047 ++++++++++++++++++++++++++++++++ analysis/fig_tracks.png | Bin 104212 -> 0 bytes analysis/fig_tracks.svg | 2456 +++++++++++ analysis/plots.py | 539 ++- 7 files changed, 17902 insertions(+), 182 deletions(-) delete mode 100644 analysis/fig_roofline.png create mode 100644 analysis/fig_roofline.svg delete mode 100644 analysis/fig_speedup.png create mode 100644 analysis/fig_speedup.svg delete mode 100644 analysis/fig_tracks.png create mode 100644 analysis/fig_tracks.svg diff --git a/analysis/fig_roofline.png b/analysis/fig_roofline.png deleted file mode 100644 index bcf45c74212dab3b7673c7d938f47b7d21cf8c7f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92240 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 diff --git a/analysis/fig_roofline.svg b/analysis/fig_roofline.svg new file mode 100644 index 0000000..a509b8b --- /dev/null +++ b/analysis/fig_roofline.svg @@ -0,0 +1,8042 @@ + + + + + + + + 2026-06-04T08:33:45.405852 + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/analysis/fig_speedup.png b/analysis/fig_speedup.png deleted file mode 100644 index 5f577e6ce5d1ef27347026a1091520e6b3480e14..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107037 zcmeFZX*iT^{69>Jl%?gS?8#D*rDWf!>`~0fHj-rD_hnFuqOy}+cE*-{n~`MCIv5ON zXDl-lhQSz~OZWZz9mn(LdG-8{=gl+6QC)F4uk$*;`{(=l`e^V(gYg3U1u7~kMlH>U z�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 z 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μ4_wl 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 diff --git a/analysis/fig_speedup.svg b/analysis/fig_speedup.svg new file mode 100644 index 0000000..4a145dd --- /dev/null +++ b/analysis/fig_speedup.svg @@ -0,0 +1,7047 @@ + + + + + + + + 2026-06-04T08:33:46.239210 + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/analysis/fig_tracks.png b/analysis/fig_tracks.png deleted file mode 100644 index f0fd3f5485377f727ae49e33a751d83847875eeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104212 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%0AHJFLyMqkjXX@1-+r1XA6W|RbrXhzH+he^Dl=|!s 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

$b3ELS|65RodfCMjvzK#j?av9AqQ^^ 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

&)#=C>8Z6 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 diff --git a/analysis/fig_tracks.svg b/analysis/fig_tracks.svg new file mode 100644 index 0000000..fcf59f2 --- /dev/null +++ b/analysis/fig_tracks.svg @@ -0,0 +1,2456 @@ + + + + + + + + 2026-06-04T08:33:44.968663 + image/svg+xml + + + Matplotlib v3.10.9, https://matplotlib.org/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/analysis/plots.py b/analysis/plots.py index cb833dc..c657040 100644 --- a/analysis/plots.py +++ b/analysis/plots.py @@ -1,3 +1,4 @@ +from matplotlib import ticker import pandas as pd import numpy as np import matplotlib.pyplot as plt @@ -7,140 +8,216 @@ import matplotlib.patheffects as pe df = pd.read_csv("analysis/results.csv") # peaks for the ryzen ai 7 350 (zen5) at 2GHz. 2 fma units and the datapath is 256 bit -# -> scalar 4, double 16, float 32 flops/cycle -SCALAR = 4 -PEAK_D = 16 -PEAK_F = 32 +# -> scalar 6, double 24, float 48 flops/cycle +SCALAR = 6 +PEAK_D = 24 +PEAK_F = 48 maroon = "#A71D5B" + def get(v, n=5000): - return df[(df.variant==v) & (df.n==n)]["flops_per_cycle"].values[0] + return df[(df.variant == v) & (df.n == n)]["flops_per_cycle"].values[0] + def getline(v): - s = df[df.variant == v].sort_values("n") - return s.n.values, s["flops_per_cycle"].values + s = df[df.variant == v].sort_values("n") + return s.n.values, s["flops_per_cycle"].values -def label_lines_above(ax, entries, fontsize=9, rotate=False, dy_frac=0.012, halo=0): - """Place each line's description on the line. + +def label_lines_above(ax, + entries, + fontsize=9, + rotate=False, + dy_frac=0.012, + halo=0): + """Place each line's description on the line. entries: (x, y, label, color) with two optional extra elements: [4] xpos -> pin the label to that data-x (else labels are spread out) [5] side -> "above" (default) or "below" to put the text under the line Set halo>0 to draw a white outline behind the text. Call AFTER set_xlim/set_ylim and tight_layout so any rotation angle is correct. - """ - logx = ax.get_xscale() == "log" - logy = ax.get_yscale() == "log" - fx = (lambda v: np.log10(v)) if logx else (lambda v: v) - fxi = (lambda v: 10**v) if logx else (lambda v: v) - fy = (lambda v: np.log10(v)) if logy else (lambda v: v) - fyi = (lambda v: 10**v) if logy else (lambda v: v) + """ + logx = ax.get_xscale() == "log" + logy = ax.get_yscale() == "log" + fx = (lambda v: np.log10(v)) if logx else (lambda v: v) + fxi = (lambda v: 10**v) if logx else (lambda v: v) + fy = (lambda v: np.log10(v)) if logy else (lambda v: v) + fyi = (lambda v: 10**v) if logy else (lambda v: v) - ent = [] - for e in entries: - x, y, lab, c = e[0], e[1], e[2], e[3] - if len(x) == 0: - continue - ent.append((np.asarray(x, float), np.asarray(y, float), lab, c, - e[4] if len(e) > 4 else None, - e[5] if len(e) > 5 else "above")) + ent = [] + for e in entries: + x, y, lab, c = e[0], e[1], e[2], e[3] + if len(x) == 0: + continue + ent.append((np.asarray(x, float), np.asarray(y, float), lab, c, + e[4] if len(e) > 4 else None, e[5] if len(e) > 5 else "above")) - n = len(ent) - y0, y1 = ax.get_ylim() - dy = (fy(y1) - fy(y0)) * dy_frac + n = len(ent) + y0, y1 = ax.get_ylim() + dy = (fy(y1) - fy(y0)) * dy_frac - for i, (x, y, lab, c, xpos, side) in enumerate(ent): - xlo, xhi = fx(x.min()), fx(x.max()) - if xpos is None: # spread across lines - frac = (i + 1) / (n + 1) - xt = fxi(xlo + frac * (xhi - xlo)) - else: - xt = xpos - yt = fyi(np.interp(fx(xt), fx(x), fy(y))) # y on the line at xt + for i, (x, y, lab, c, xpos, side) in enumerate(ent): + xlo, xhi = fx(x.min()), fx(x.max()) + if xpos is None: # spread across lines + frac = (i + 1) / (n + 1) + xt = fxi(xlo + frac * (xhi - xlo)) + else: + xt = xpos + yt = fyi(np.interp(fx(xt), fx(x), fy(y))) # y on the line at xt - rot = 0 - if rotate: # match slope in pixels - dxt = fxi(fx(xt) + 0.01 * (xhi - xlo)) - ya = fyi(np.interp(fx(xt), fx(x), fy(y))) - yb = fyi(np.interp(fx(dxt), fx(x), fy(y))) - p1 = ax.transData.transform((xt, ya)) - p2 = ax.transData.transform((dxt, yb)) - rot = np.degrees(np.arctan2(p2[1] - p1[1], p2[0] - p1[0])) + rot = 0 + if rotate: # match slope in pixels + dxt = fxi(fx(xt) + 0.01 * (xhi - xlo)) + ya = fyi(np.interp(fx(xt), fx(x), fy(y))) + yb = fyi(np.interp(fx(dxt), fx(x), fy(y))) + p1 = ax.transData.transform((xt, ya)) + p2 = ax.transData.transform((dxt, yb)) + rot = np.degrees(np.arctan2(p2[1] - p1[1], p2[0] - p1[0])) + + below = side == "below" + ypos = fyi(fy(yt) - dy) if below else fyi(fy(yt) + dy) + va = "top" if below else "bottom" + txt = ax.text(xt, + ypos, + lab, + color=c, + fontsize=fontsize, + ha="center", + va=va, + fontweight="bold", + rotation=rot, + rotation_mode="anchor", + clip_on=False, + zorder=5) + if halo: + txt.set_path_effects([pe.withStroke(linewidth=halo, foreground="white")]) - below = side == "below" - ypos = fyi(fy(yt) - dy) if below else fyi(fy(yt) + dy) - va = "top" if below else "bottom" - txt = ax.text(xt, ypos, lab, color=c, fontsize=fontsize, - ha="center", va=va, fontweight="bold", - rotation=rot, rotation_mode="anchor", clip_on=False, zorder=5) - if halo: - txt.set_path_effects([pe.withStroke(linewidth=halo, foreground="white")]) base = get("variant_baseline") - # plot 1: the two precision tracks (this is the main results plot) # double tops out ~7, float goes to 24. also shows the avx2-float stuff already does most of the work tracks = [ - ("variant_baseline", "baseline (scalar)", "#7a7a7a", "-"), - ("variant_AVX512_1", "double, AVX-512 ", "#4f86d6", "-"), - ("variant_inlining_7_SoA_AVX2", "double, AVX-256", "#9bbbe0", "--"), - ("variant_inlining_8_SoA_AVX512_polyexp_moreavx", "double, AVX-512 + polyexp", "#2f5d9e", "-"), - ("variant_float_inlining_SoA_AVX2_polyexp", "float, AVX-256 + polyexp", "#e58aa6", "--"), - ("variant_float_inlining_SoA_AVX2_polyexp_rsqrt_loopopt", "float, AVX-256 + polyexp + rsqrt", "#d05a82", "--"), - ("variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt", "float, AVX-512 + rsqrt + ILP (best)", maroon, "-"), + ("variant_baseline", "Scalar Baseline (double)", "#7a7a7a", "-"), + ("variant_AVX512_1", "AVX-512 (double)", "#4f86d6", "-"), + ("variant_inlining_7_SoA_AVX2", "AVX-256 (double)", "#9bbbe0", "--"), + ("variant_inlining_8_SoA_AVX512_polyexp_moreavx", + "AVX-512 + PolyExp (double)", "#2f5d9e", "-"), + ("variant_float_inlining_SoA_AVX2_polyexp", "AVX-256 + PolyExp (float)", + "#e58aa6", "--"), + ("variant_float_inlining_SoA_AVX2_polyexp_rsqrt_loopopt", + "AVX-256 + PolyExp + RSQRT (float)", "#d05a82", "--"), + ("variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt", + "AVX-512 + PolyExp + RSQRT + ILP (float)", maroon, "-"), ] -fig, ax = plt.subplots(figsize=(9,4.7)) + +tick_vals = np.array([50, 100, 200, 500, 1000, 2000, 5000, 10000]) +target_positions = np.arange(len(tick_vals)) + + +def map_x_to_linear(x_val): + return np.interp(x_val, tick_vals, target_positions) + + +fig, ax = plt.subplots(figsize=(9, 4.7)) ends = [] -for v,lab,c,ls in tracks: - x,y = getline(v) - ax.plot(x, y, ls, color=c, marker="o", ms=4, lw= 2.4 if c==maroon else 1.8) - ends.append((x, y, lab, c)) -for yv,t in [(PEAK_D,"double peak (16)"), (PEAK_F,"float peak (32)")]: - ax.axhline(yv, ls=":", color="#999", lw=1.2) - ax.text(52, yv*1.03, t, fontsize=9.5, color="#888") +for v, lab, c, ls in tracks: + x_raw, y = getline(v) + x_mapped = map_x_to_linear(x_raw) -ax.set_xscale("log"); ax.set_yscale("log") -ax.set_xticks([50,100,200,500,1000,2000,5000,10000]) -ax.set_xticklabels(["50","100","200","500","1k","2k","5k","10k"]) -ax.set_yticks([1,2,4,8,16,32]); ax.set_yticklabels(["1","2","4","8","16","32"]) -ax.set_xlim(46,13000); ax.set_ylim(1,40) -ax.set_xlabel("number of pedestrians n") -ax.set_ylabel("performance [flops/cycle]") + ax.plot(x_mapped, + y, + ls, + color=c, + marker="o", + ms=4, + lw=2.4 if c == maroon else 1.8) + + ends.append((x_mapped, y, lab, c)) + +tick_vals = [50, 100, 200, 500, 1000, 2000, 5000, 10000] +target_positions = list(range(len(tick_vals))) + +start_x_pos = 0 + +for yv, t in [(PEAK_D, f"Peak π par. w/ doubles ({PEAK_D} flops/cycle)"), + (PEAK_F, f"Peak π par. w/ floats ({PEAK_F} flops/cycle)")]: + ax.axhline(yv, ls=":", color="#999", lw=1.2) + ax.text(start_x_pos + 0.2, + yv * 1.03, + t, + fontsize=9, + color="#888", + fontweight="bold") + +ax.set_yscale("log", base=2) + +ax.set_xticks(target_positions) +ax.set_xticklabels(["50", "100", "200", "500", "1k", "2k", "5k", "10k"], + fontweight="bold", + fontsize=9) + +ax.set_xlim(-0.5, len(tick_vals) - 0.5) + +ax.yaxis.set_major_formatter(ticker.FuncFormatter(lambda x, _: str(int(x)))) +for label in ax.get_yticklabels(): + label.set_fontweight('bold') + label.set_fontsize(9) +ax.set_ylim(1, 64) +ax.set_xlabel("Number of Pedestrians", fontweight="bold", fontsize=9) ax.grid(color="#e9e9e9") -ax.spines["top"].set_visible(False); ax.spines["right"].set_visible(False) +ax.spines["top"].set_visible(False) +ax.spines["right"].set_visible(False) +plt.title( + 'Performance [flops/cycle]\nCPU: AMD Ryzen AI 7 350 w/ Radeon 860M @ 2 GHz\nCompiler: g++ (Debian 15.2.0-17) 15.2.0\nFlags: -O3 -march=native -std=c++23 -Wall -Wextra -flto', + loc='left', + size=9, + fontweight="bold") plt.tight_layout() + label_lines_above(ax, ends, fontsize=7.5, dy_frac=0.012) -plt.savefig("analysis/fig_tracks.png", dpi=170, bbox_inches="tight") +plt.savefig("analysis/fig_tracks.svg", bbox_inches="tight") -# plot 2: all te milestones + the symmetry one that got slower +# plot 2: all te milestones + the symmetry one that got slower bars = [ - ("baseline", "variant_baseline"), - ("AVX2 (double)", "variant_inlining_7_SoA_AVX2"), - ("AVX-512 (double)", "variant_AVX512_1"), - ("+ polyexp", "variant_inlining_8_SoA_AVX512_polyexp_moreavx"), - ("+ float", "variant_float_inlining_SoA_AVX512_polyexp_moreavx"), - ("+ rsqrt & ILP", "variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt"), - ("symmetry\n(half the pairs)", "variant_inlining_7_symmetry_2"), + ("baseline", "variant_baseline"), + ("AVX2 (double)", "variant_inlining_7_SoA_AVX2"), + ("AVX-512 (double)", "variant_AVX512_1"), + ("+ polyexp", "variant_inlining_8_SoA_AVX512_polyexp_moreavx"), + ("+ float", "variant_float_inlining_SoA_AVX512_polyexp_moreavx"), + ("+ rsqrt & ILP", + "variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt"), + ("symmetry\n(half the pairs)", "variant_inlining_7_symmetry_2"), ] names = [b[0] for b in bars] -spd = [get(b[1])/base for b in bars] -cols = ["#7a7a7a","#3b6fb0","#2f9e8f","#e08a1e","#c0436a", maroon, "#cf2b2b"] +spd = [get(b[1]) / base for b in bars] +cols = [ + "#7a7a7a", "#3b6fb0", "#2f9e8f", "#e08a1e", "#c0436a", maroon, "#cf2b2b" +] -fig,ax = plt.subplots(figsize=(9,4.7)) +fig, ax = plt.subplots(figsize=(9, 4.7)) yp = np.arange(len(names))[::-1] ax.barh(yp, spd, color=cols, height=0.66) -for yy,s in zip(yp,spd): - ax.text(s+0.25, yy, str(round(s,1))+"x", va="center", fontsize=11, fontweight="bold", - color = "#cf2b2b" if s<1 else "#222") +for yy, s in zip(yp, spd): + ax.text(s + 0.25, + yy, + str(round(s, 1)) + "x", + va="center", + fontsize=11, + fontweight="bold", + color="#cf2b2b" if s < 1 else "#222") ax.axvline(1, ls="--", color="#888", lw=1) -ax.set_yticks(yp); ax.set_yticklabels(names) -ax.set_xlim(0,26) +ax.set_yticks(yp) +ax.set_yticklabels(names) +ax.set_xlim(0, 26) ax.set_xlabel("speedup over baseline (n=5000)") #ax.set_title("optimization milestones (and the one that backfired)", loc="left", fontsize=13) -ax.grid(axis="x", color="#eee"); ax.grid(axis="y", visible=False) -ax.spines["top"].set_visible(False); ax.spines["right"].set_visible(False) +ax.grid(axis="x", color="#eee") +ax.grid(axis="y", visible=False) +ax.spines["top"].set_visible(False) +ax.spines["right"].set_visible(False) plt.tight_layout() plt.savefig("analysis/fig_ladder.png", dpi=170, bbox_inches="tight") @@ -150,61 +227,119 @@ plt.savefig("analysis/fig_ladder.png", dpi=170, bbox_inches="tight") # (I_double ≈ 2.8k, I_float ≈ 5.6k), so each point uses its OWN I. # memory roof from a measured single-thread read: sysbench 37618 MiB/s -> ~19.7 bytes/cycle @ 2 GHz. def getI(v, n=5000): - return df[(df.variant==v) & (df.n==n)]["I"].values[0] -bw = 37618.01 * 1024**2 / 2e9 # MiB/s -> bytes/cycle at 2 GHz (≈ 19.72) + return df[(df.variant == v) & (df.n == n)]["I"].values[0] + + +bw = ((37967.45 + 38536.77 + 38249.60) / + 3) * 1024**2 / 2e9 # ≈ 20 bytes/cycle @ 2 GHz # (variant, label, color, group) group "d" = double column, "f" = float column roof = [ - ("variant_baseline", "baseline (scalar)", "#7a7a7a", "d"), - ("variant_inlining_7_SoA_AVX2", "double, AVX-256", "#9bbbe0", "d"), - ("variant_AVX512_1", "double, AVX-512 ", "#4f86d6", "d"), - ("variant_inlining_8_SoA_AVX512_polyexp_moreavx", "double, AVX-512 + polyexp", "#2f5d9e", "d"), - ("variant_float_inlining_SoA_AVX2_polyexp", "float, AVX-256 + polyexp", "#e58aa6", "f"), - ("variant_float_inlining_SoA_AVX2_polyexp_rsqrt_loopopt", "float, AVX2 + polyexp + rsqrt", "#d05a82", "f"), - ("variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt", "float, AVX-512 + rsqrt + ILP (best)", maroon, "f"), + ("variant_baseline", "Scalar Baseline (double)", "#7a7a7a", "d"), + ("variant_inlining_7_SoA_AVX2", "AVX-256 (double)", "#9bbbe0", "d"), + ("variant_AVX512_1", "AVX-512 (double) ", "#4f86d6", "d"), + ("variant_inlining_8_SoA_AVX512_polyexp_moreavx", + "AVX-512 + PolyExp (double)", "#2f5d9e", "d"), + ("variant_float_inlining_SoA_AVX2_polyexp", "AVX-256 + PolyExp (float)", + "#e58aa6", "f"), + ("variant_float_inlining_SoA_AVX2_polyexp_rsqrt_loopopt", + "AVX-256 + PolyExp + RSQRT (float)", "#d05a82", "f"), + ("variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt", + "AVX-512 + PolyExp + RSQRT + ILP (float)", maroon, "f"), ] -LABX = {"d": 2400, "f": 4900} # label right-edge sits just left of each column +LABX = {"d": 2400, "f": 4900} # label right-edge sits just left of each column -fig, ax = plt.subplots(figsize=(9.5,5.0)) +fig, ax = plt.subplots(figsize=(9.5, 5.0)) xx = np.logspace(-1, 4.2, 200) -ax.plot(xx, np.minimum(bw*xx, PEAK_F), color="#bbbbbb", lw=1.4) -ax.text(0.115, 0.85, "mem roof: DRAM read ≈ 37.6 GiB/s (≈19.7 B/cycle)", fontsize=8.3, color="#9a9a9a", ha="left") +ax.plot(xx, np.minimum(bw * xx, PEAK_F), color="#bbbbbb", lw=1.4) +ax.text(0.165, + 4, + "DRAM Read β seq. (≈ 20.0 bytes/cycle)", + fontsize=8, + color="#888", + fontweight="bold", + rotation=46, + ha="left") -for pk,t in [(SCALAR,"scalar (4)"), (PEAK_D,"double (16)"), (PEAK_F,"float (32)")]: - ax.axhline(pk, ls="--", color="#aaaaaa", lw=1.0) - ax.text(0.11, pk*1.05, t+" peak", fontsize=9, color="#888") +for pk, t in [(SCALAR, f"Peak π seq. ({SCALAR} flops/cycle)"), + (PEAK_D, f"Peak π par. w/ doubles ({PEAK_D} flops/cycle)"), + (PEAK_F, f"Peak π par. w/ floats ({PEAK_F} flops/cycle)")]: + ax.axhline(pk, ls="--", color="#aaaaaa", lw=1.0) + ax.text(2.5, pk * 1.05, t, fontsize=8, color="#888", fontweight="bold") -for v,lab,c,grp in roof: - x,y = getI(v), get(v) - ax.plot(x, y, "o", ms=10, color=c, mec="white", mew=1.4, zorder=5) - t = ax.text(LABX[grp], y, lab, color=c, fontsize=8, fontweight="bold", ha="right", va="center", zorder=6) - t.set_path_effects([pe.withStroke(linewidth=2.5, foreground="white")]) +for v, lab, c, grp in roof: + x, y = getI(v), get(v) + ax.plot(x, y, "o", ms=10, color=c, mec="white", mew=1.4, zorder=5) + t = ax.text(LABX[grp], + y, + lab, + color=c, + fontsize=8, + fontweight="bold", + ha="right", + va="center", + zorder=6) + t.set_path_effects([pe.withStroke(linewidth=2.5, foreground="white")]) -ax.text(2812, 0.74, "I ≈ 2.8k", fontsize=8, color="#777", ha="center", va="top") -ax.text(5625, 0.74, "I ≈ 5.6k", fontsize=8, color="#777", ha="center", va="top") +ax.text(2812, 0.95, "I ≈ 2.8K", fontsize=8, color="#777", ha="center", va="top") +ax.text(5625, 10, "I ≈ 5.6K", fontsize=8, color="#777", ha="center", va="top") -ax.set_xscale("log"); ax.set_yscale("log") -ax.set_xlim(0.1, 16000); ax.set_ylim(0.6, 46) -ax.set_xlabel("operational intensity I [flops/byte]") -ax.set_ylabel("performance [flops/cycle]") +ax.set_yscale("log", base=2) +ax.yaxis.set_major_formatter(ticker.FuncFormatter(lambda x, _: str(int(x)))) + + +def fraction_formatter(x, pos): + if x == 0: + return '0' + log2_x = np.log2(x) + if abs(log2_x - round(log2_x)) < 1e-6: + exponent = int(round(log2_x)) + if exponent < 0: + denominator = 2**(-exponent) + return f'1/{denominator}' + elif exponent == 0: + return '1' + else: + return str(int(x)) + return f'{x:.2f}' + + +formatter = ticker.FuncFormatter(fraction_formatter) + +plt.xscale('log', base=2) +plt.gca().xaxis.set_major_formatter(formatter) + +ax.set_xlim(0.1, 16000) +ax.set_ylim(0.6, 70) +ax.set_xlabel("Operational Intensity [flops/byte]", + fontweight="bold", + fontsize=9) +# ax.set_ylabel("Performance [flops/cycle]", fontweight="bold", fontsize=9) +plt.title( + 'Performance [flops/cycle]\nCPU: AMD Ryzen AI 7 350 w/ Radeon 860M @ 2 GHz\nCompiler: g++ (Debian 15.2.0-17) 15.2.0\nFlags: -O3 -march=native -std=c++23 -Wall -Wextra -flto', + loc='left', + size=9, + fontweight="bold") ax.grid(color="#ededed") -ax.spines["top"].set_visible(False); ax.spines["right"].set_visible(False) +ax.spines["top"].set_visible(False) +ax.spines["right"].set_visible(False) plt.tight_layout() -plt.savefig("analysis/fig_roofline.png", dpi=170, bbox_inches="tight") +plt.savefig("analysis/fig_roofline.svg", bbox_inches="tight") -# plot 4: exp vs the polynomial approx (just to show its basically exact) +# plot 4: exp vs the polynomial approx (just to show its basically exact) x = np.linspace(-6, 0, 300) ex = np.exp(x) -co = np.polyfit(x, ex, 5) # degree 5 same as in the kernel +co = np.polyfit(x, ex, 5) # degree 5 same as in the kernel ap = np.polyval(co, x) -fig,ax = plt.subplots(figsize=(4.6,3.7)) +fig, ax = plt.subplots(figsize=(4.6, 3.7)) ax.plot(x, ex, color="#222", lw=2.4, label="exp(x)") ax.plot(x, ap, "--", color=maroon, lw=2, label="poly approx") ax.set_xlabel("x") ax.set_title("exp -> polynomial", loc="left", fontsize=12) ax.grid(color="#ededed") -ax.spines["top"].set_visible(False); ax.spines["right"].set_visible(False) +ax.spines["top"].set_visible(False) +ax.spines["right"].set_visible(False) ax.legend(frameon=False, fontsize=10) plt.tight_layout() plt.savefig("analysis/fig_exp.png", dpi=170, bbox_inches="tight") @@ -215,47 +350,56 @@ plt.savefig("analysis/fig_exp.png", dpi=170, bbox_inches="tight") # tuple: (variant, label, color, linestyle, xpos|None, side) where side is # "above" or "below" -> alternate the crowded float labels above/below their line. milestones = [ - ("variant_baseline", "baseline", "#7a7a7a", "-", None, "above"), - #("variant_cutoff_callsite", "baseline + cutoff (best scalar)", "#9e8f2f", "-", None, "below"), - ("variant_inlining_7_SoA_AVX2", "AVX2 (double)", "#3b6fb0", "--", None, "above"), - ("variant_inlining_7_SoA_AVX2_polyexp", "AVX2 + polyexp (double)", "#2f9e8f", "--", None, "below"), - ("variant_inlining_8_SoA_AVX512_polyexp_moreavx", "AVX-512 (double)", "#2f5d9e", "-", None, "below"), - ("variant_float_inlining_SoA_AVX2_polyexp", "float AVX2 + polyexp", "#e58aa6", "--", 600, "above"), - ("variant_float_inlining_SoA_AVX2_polyexp_rsqrt_loopopt", "float AVX2 + rsqrt", "#e08a1e", "--", 2200, "below"), - ("variant_float_inlining_SoA_AVX512_polyexp_moreavx", "float AVX-512", "#c0436a", "-", 1500, "above"), - ("variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt","float AVX-512 + rsqrt + ILP (best)", maroon, "-", 900, "above"), + ("variant_baseline", "baseline", "#7a7a7a", "-", None, "above"), + #("variant_cutoff_callsite", "baseline + cutoff (best scalar)", "#9e8f2f", "-", None, "below"), + ("variant_inlining_7_SoA_AVX2", "AVX2 (double)", "#3b6fb0", "--", None, + "above"), + ("variant_inlining_7_SoA_AVX2_polyexp", "AVX2 + polyexp (double)", "#2f9e8f", + "--", None, "below"), + ("variant_inlining_8_SoA_AVX512_polyexp_moreavx", "AVX-512 (double)", + "#2f5d9e", "-", None, "below"), + ("variant_float_inlining_SoA_AVX2_polyexp", "float AVX2 + polyexp", "#e58aa6", + "--", 600, "above"), + ("variant_float_inlining_SoA_AVX2_polyexp_rsqrt_loopopt", + "float AVX2 + rsqrt", "#e08a1e", "--", 2200, "below"), + ("variant_float_inlining_SoA_AVX512_polyexp_moreavx", "float AVX-512", + "#c0436a", "-", 1500, "above"), + ("variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt", + "float AVX-512 + rsqrt + ILP (best)", maroon, "-", 900, "above"), ] -fig, ax = plt.subplots(figsize=(9.5,5.2)) +fig, ax = plt.subplots(figsize=(9.5, 5.2)) ends = [] -for v,lab,c,ls,xpos,side in milestones: - x,y = getline(v) - if len(x) == 0: # variant not in results.csv -> skip instead of crashing - print("skip (not in csv):", v) - continue - ax.plot(x, y, ls, color=c, marker="o", ms=4, lw=2.4 if c==maroon else 1.7) - ends.append((x, y, lab, c, xpos, side)) +for v, lab, c, ls, xpos, side in milestones: + x, y = getline(v) + if len(x) == 0: # variant not in results.csv -> skip instead of crashing + print("skip (not in csv):", v) + continue + ax.plot(x, y, ls, color=c, marker="o", ms=4, lw=2.4 if c == maroon else 1.7) + ends.append((x, y, lab, c, xpos, side)) -for yv,t in [(PEAK_D,"double peak (16)"), (PEAK_F,"float peak (32)")]: - ax.axhline(yv, ls=":", color="#999", lw=1.2) - ax.text(52, yv*1.03, t, fontsize=9.5, color="#888") +for yv, t in [(PEAK_D, "double peak (16)"), (PEAK_F, "float peak (32)")]: + ax.axhline(yv, ls=":", color="#999", lw=1.2) + ax.text(52, yv * 1.03, t, fontsize=9.5, color="#888") -ax.set_xscale("log"); ax.set_yscale("log") -ax.set_xticks([50,100,200,500,1000,2000,5000,10000]) -ax.set_xticklabels(["50","100","200","500","1k","2k","5k","10k"]) -ax.set_yticks([1,2,4,8,16,32]); ax.set_yticklabels(["1","2","4","8","16","32"]) -ax.set_xlim(46,13000); ax.set_ylim(0.8,40) -ax.set_xlabel("number of pedestrians n") -ax.set_ylabel("performance [flops/cycle]") +ax.set_xscale("log") +ax.set_yscale("log") +ax.set_xticks([50, 100, 200, 500, 1000, 2000, 5000, 10000]) +ax.set_xticklabels(["50", "100", "200", "500", "1k", "2k", "5k", "10k"]) +ax.set_yticks([1, 2, 4, 8, 16, 32, 64]) +ax.set_yticklabels(["1", "2", "4", "8", "16", "32", "64"]) +ax.set_xlim(46, 13000) +ax.set_ylim(0.8, 40) +ax.set_xlabel("Number of Pedestrians") +ax.set_ylabel("Performance [flops/cycle]") ax.grid(color="#e9e9e9") -ax.spines["top"].set_visible(False); ax.spines["right"].set_visible(False) +ax.spines["top"].set_visible(False) +ax.spines["right"].set_visible(False) plt.tight_layout() label_lines_above(ax, ends, fontsize=6.5, dy_frac=0.02, halo=0) plt.savefig("analysis/fig_milestones.png", dpi=170, bbox_inches="tight") - #plt.show() -print("done") # plot 6: wall-clock speedup over baseline (runtime, not performance). # the fair view for optimizations that change the flop count -- cutoff skips ~40% of the @@ -263,39 +407,70 @@ print("done") # T_variant compares time-to-solve the same n regardless of how many flops each one does. # curated to the milestones that carry the story + symmetry as the cautionary line. basec = df[df.variant == "variant_baseline"].set_index("n")["cycles"].to_dict() + + def speedline(v): - s = df[df.variant == v].sort_values("n") - ns = [n for n in s.n.values if n in basec] # baseline has no n=10000 run - sp = [basec[n] / s[s.n == n]["cycles"].values[0] for n in ns] - return np.array(ns, float), np.array(sp, float) + s = df[df.variant == v].sort_values("n") # pyright: ignore[reportCallIssue] + ns = [n for n in s.n.values if n in basec] # baseline has no n=10000 run + sp = [basec[n] / s[s.n == n]["cycles"].values[0] for n in ns] + return np.array(ns, float), np.array(sp, float) + # (variant, label, color, linestyle, xpos|None, side) speed = [ - ("variant_cutoff_callsite", "scalar + cutoff (approx)", "#9e8f2f", "-", 260, "above"), - ("variant_inlining_7_symmetry_2", "symmetry (half the pairs)", "#cf2b2b", "-", 320, "below"), - ("variant_inlining_7_SoA_AVX2", "double, AVX2", "#9bbbe0", "--", 650, "below"), - ("variant_inlining_8_SoA_AVX512_polyexp_moreavx", "double, AVX-512 + polyexp", "#2f5d9e", "-", 430, "above"), - ("variant_float_inlining_SoA_AVX2_polyexp_rsqrt_loopopt", "float, AVX2 + polyexp + rsqrt", "#d05a82", "--", 950, "below"), - ("variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt", "float, AVX-512 + rsqrt + ILP (best)", maroon, "-", 680, "above"), + ("variant_cutoff_callsite", "Scalar Cutoff (double)", "#9e8f2f", "-", 260, + "above"), + ("variant_inlining_7_symmetry_2", "Symmetry (double)", "#cf2b2b", "-", 320, + "below"), + ("variant_inlining_7_SoA_AVX2", "AVX-256 (double)", "#9bbbe0", "--", 650, + "below"), + ("variant_inlining_8_SoA_AVX512_polyexp_moreavx", + "AVX-512 + PolyExp (double)", "#2f5d9e", "-", 430, "above"), + ("variant_float_inlining_SoA_AVX2_polyexp_rsqrt_loopopt", + "AVX-256 + PolyExp + RSQRT (float)", "#d05a82", "--", 950, "below"), + ("variant_float_inlining_SoA_AVX512_polyexp_moreavx_ilp_2_rsqrt_morersqrt", + "AVX-512 + PolyExp + RSQRT + ILP (float)", maroon, "-", 680, "above"), ] -fig, ax = plt.subplots(figsize=(9,4.7)) + +fig, ax = plt.subplots(figsize=(9, 4.7)) ends = [] -for v,lab,c,ls,xpos,side in speed: - x,y = speedline(v) - if len(x) == 0: - print("skip (not in csv):", v); continue - ax.plot(x, y, ls, color=c, marker="o", ms=4, lw=2.4 if c==maroon else 1.8) - ends.append((x, y, lab, c, xpos, side)) +for v, lab, c, ls, xpos, side in speed: + x, y = speedline(v) + if len(x) == 0: + print("skip (not in csv):", v) + continue + ax.plot(x, y, ls, color=c, marker="o", ms=4, lw=2.4 if c == maroon else 1.8) + ends.append((x, y, lab, c, xpos, side)) ax.axhline(1, ls=":", color="#999", lw=1.3) ax.text(52, 1.03, "baseline (1x)", fontsize=9, color="#888") -ax.set_xscale("log"); ax.set_yscale("log") -ax.set_xticks([50,100,200,500,1000,2000,5000]); ax.set_xticklabels(["50","100","200","500","1k","2k","5k"]) -ax.set_yticks([1,2,5,10,20]); ax.set_yticklabels(["1x","2x","5x","10x","20x"]) -ax.set_xlim(46,7000); ax.set_ylim(0.8,28) -ax.set_xlabel("number of pedestrians n") -ax.set_ylabel("speedup over baseline (wall-clock cycles)") +ax.set_xscale("log") +ax.set_yscale("log") + +xlim_log = np.log10(ax.get_xlim()) +num_ticks = 7 +linear_positions = np.linspace(xlim_log[0], xlim_log[1], num_ticks) +tick_positions = 10**linear_positions +ax.set_xticks(tick_positions) +ax.set_xticklabels(["50", "100", "200", "500", "1k", "2k", "5k"]) + +ax.set_yticks([1, 2, 5, 10, 20]) +ax.set_yticklabels(["1x", "2x", "5x", "10x", "20x"]) + +ax.tick_params(axis='both', which='minor', length=0) +ax.tick_params(axis='both', which='major', length=4) + +ax.set_xlim(46, 7000) +ax.set_ylim(0.8, 28) +ax.set_xlabel("Number of Pedestrians", fontweight="bold", fontsize=9) +# ax.set_ylabel("Speedup", fontweight="bold", fontsize=9) +plt.title( + 'Runtime Speedup\nCPU: AMD Ryzen AI 7 350 w/ Radeon 860M @ 2 GHz\nCompiler: g++ (Debian 15.2.0-17) 15.2.0\nFlags: -O3 -march=native -std=c++23 -Wall -Wextra -flto', + loc='left', + size=9, + fontweight="bold") ax.grid(color="#e9e9e9") -ax.spines["top"].set_visible(False); ax.spines["right"].set_visible(False) +ax.spines["top"].set_visible(False) +ax.spines["right"].set_visible(False) plt.tight_layout() label_lines_above(ax, ends, fontsize=7.5, dy_frac=0.02, halo=2) -plt.savefig("analysis/fig_speedup.png", dpi=170, bbox_inches="tight") \ No newline at end of file +plt.savefig("analysis/fig_speedup.svg", bbox_inches="tight")