feat(augaman): second, fixtures-only instance on fv-ml1 GPU 1; CPU vs GPU speed bench (v0.1.2 baseline)
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.
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
"""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)}")
|
||||
Reference in New Issue
Block a user