benchmarks: Hunyuan T1 mx.compile micro gate — parity PASS, 1.04x (GEMM-bound; T3/T4 are the real levers)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
eed732446c
commit
ace4be37ba
@ -190,3 +190,15 @@ Verdicts:
|
||||
- Metal sparse-conv is worth **1.72x end-to-end** (saves 89.6s/gen). Keep flex_gemm the default; the conv_none fallback is a real 90s regression if the metallib ever breaks silently — worth a GODBOARD/log assertion.
|
||||
- Remaining fat in the fast path: ~46s diffusion sampling (padded SDPA attention — next kernel frontier), ~50s decode/extract (incl. aten::segment_reduce falling back to CPU — patchable), 19s Metal bake.
|
||||
- Decode actually produces 2.79M faces before the forced ~200k simplify — the quality-recovery headroom (rung 2) is bigger than the recon estimated.
|
||||
|
||||
## 2026-07-19 — Hunyuan paint-UNet mx.compile (Target 1, branch mlx-tune)
|
||||
|
||||
Micro gate (real arch, random fp16 weights, 6-view 64² latents, m3ultra):
|
||||
eager 270.5 ms/fwd → compiled 260.5 ms/fwd = **1.04×**; parity max|diff|
|
||||
3.0e-05 (PASS); first-trace 1.2 s; peak 4.9 GB. Env-gated
|
||||
`HY3D_MLX_COMPILE=1`, default off (numerics untouched).
|
||||
|
||||
Verdict: keep (free, safe) but the paint UNet is GEMM-bound — fusion alone
|
||||
is small. The bigger Hunyuan levers are Target 3 (MoE `.item()` sync-tax,
|
||||
−4800 syncs/gen, unlocks whole-DiT compile) and Target 4 (manual→fused
|
||||
SDPA in paint DINO). E2E flag-on-vs-off measurement pending after those.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user