Skip to content

v0.7.1 — --cuda-graphs surfaced with measured A100+A10G perf

Choose a tag to compare

@rylinjames rylinjames released this 29 Apr 08:50
· 355 commits to main since this release

v0.7.1 — surfaces --cuda-graphs with measured perf

The reflex serve --cuda-graphs flag has been silently in main since v0.5.0 (commits 49110d2 → 7dfcab6, April 24-25). v0.7.1 surfaces it with the Day 8-9 A/B numbers from Modal so users actually know to enable it.

Measured perf

A100-80GB (pi0.5 num_steps=10, n=200 paired iterations):

session OFF mean ON mean speedup OFF p99 ON p99 jitter Δ
vlm_prefix 93.45 ms 87.34 ms 1.07× 94.33 ms 87.84 ms 1.4× tighter
expert_denoise (10× / chunk) 17.74 ms 12.04 ms 1.47× 20.91 ms 12.44 ms (-40%) 4.1× tighter

Combined per-chunk: 270.85 → 207.74 ms = 1.30× speedup, p99 304 → 212 ms (-30%).

A10G (n=100 paired): expert_denoise 1.18× mean, p99 -35%, jitter 14× tighter. vlm_prefix capacity-bounded — gracefully degrades to eager per ADR tier-aware semantics.

Win shape: predictability > raw mean

Robotics control loops care about p99 + jitter more than mean. CUDA graph replay eliminates per-op kernel-launch jitter, which is why the jitter improvements are larger than the mean improvements. expert_denoise runs 10× per chunk in flow-matching denoise, so the inner-loop jitter reduction compounds.

Hardware tier guidance

  • A100 / H100: capture both sessions
  • A10G: capture expert_denoise only; vlm_prefix gracefully degrades
  • Orin Nano / smaller: not yet measured. Run reflex doctor after reflex serve --cuda-graphs to check capture status.

Validation

5/6 ship gates clear with margin (CI no-overlap, mean improvement, p99/p99.9 caps, jitter cap). Parity gate carried forward from Day-0 spike.

Added (this release)

  • tests/test_cuda_graphs_integration.py — Day 7 integration tests (7 mock + 1 CUDA-gated)
  • scripts/modal_cuda_graphs_ab.py — Day 8-9 A/B benchmark with 30s progress logging
  • CHANGELOG entry surfacing the flag with measured numbers

Notes

  • The --cuda-graphs flag was always live in reflex serve --help since v0.5.0. v0.7.1 simply documents it with measured numbers.
  • Total Modal cost for the validation: $3.50.