Prime asked for augaman on fv-ml1's utility card, beside vllm-coder. Mirror augaman-dev's f77164f compose, which parameterises the GPU reservation (GPU_ID, default 0) and the Homepage card name (CARD_SUFFIX). esh-ml1's resolved config is unchanged: same config hash, no recreate. On fv-ml1: augaman:0.1.2 built on-box from the tag, GPU_ID=1, healthy on CUDA at 1264 MiB, and pytest -m gpu tests/vision passes 3/3 on the Blackwell. It has its own gallery and no gallery backup, so it is fixtures-only. The host's raw restic copy of /var/lib/docker/volumes is not a consistent SQLite backup. docs/pfi/augaman-speed-bench/ holds the harness (augaman-dev's recipe plus a no-face control frame and a face-count check on every response), the raw rows and the summary. Server-side, one face: - esh-ml1 GPU 144 ms - fv-ml1 GPU 75 ms - fv-ml1 CPU on 6 cores 152 ms - esh-ml1 CPU 888 ms It agrees with augaman-dev's independent esh-ml1 measurement once each harness's floor is subtracted. This is the before for v0.1.3's detector fix.
24 lines
1.1 KiB
Python
24 lines
1.1 KiB
Python
"""Summarise bench.py rows: per (target, frame), the median of the 3 run p50s with the
|
|
min-max of those run p50s (the A-vs-A spread, i.e. the noise floor), the median run p90,
|
|
and the median server-side probe mean.
|
|
python summarize.py rows-2026-09-27.json
|
|
"""
|
|
import json, statistics, sys
|
|
from collections import defaultdict
|
|
|
|
rows = json.load(open(sys.argv[1]))
|
|
g = defaultdict(list)
|
|
for r in rows:
|
|
g[(r["target"], r["frame"])].append(r)
|
|
targets = list(dict.fromkeys(r["target"] for r in rows))
|
|
frames = list(dict.fromkeys(r["frame"] for r in rows))
|
|
print(f"{'target':<14} {'frame':<17} {'p50 med':>8} {'p50 run min-max':>16} {'p90 med':>8} {'server med':>10} bad")
|
|
for t in targets:
|
|
for f in frames:
|
|
rs = g[(t, f)]
|
|
p50s = [r["p50"] for r in rs]
|
|
srv = [r["server_probe_mean"] for r in rs if r["server_probe_mean"] is not None]
|
|
print(f"{t:<14} {f:<17} {statistics.median(p50s):8.1f} {min(p50s):7.1f}-{max(p50s):<8.1f}"
|
|
f" {statistics.median(r['p90'] for r in rs):8.1f}"
|
|
f" {(statistics.median(srv) if srv else float('nan')):10.1f} {sum(r['bad'] for r in rs)}")
|