A4: record what the image attention pin costs, so it is not re-investigated
The pin to native (SDPA) is also the floor on image generation speed, and that is worth stating where it happens. Measured 2026-10-28 on Z-Image-Turbo-IntoRealism, 768x1344, 10 steps, idle RTX 3090: 21.4 s warm, 2.1 s/step. Two of the three things worth suspecting are ruled out rather than assumed -- the card's step count IS applied (the per-request progress endpoint reports total=10) and there is no bnb repack (the checkpoint is fp8 upcast to bf16) -- and the third was the cause: an unnecessary enable_model_cpu_offload from the model page's default offload_strategy, on a model that fits the card whole. 72 s -> 33 s -> 21.4 s. What remains is SDPA, and for this family that is not a choice: Z-Image and Krea 2 mask their text conditioning, and neither SageAttention nor flash-attn 2 accepts an attn_mask (_ATTN_MASK_FAMILIES in codai/api/video.py, measured on LTX-2.3-10Eros which failed on sage then identically on flash). A few seconds per megapixel is the hardware here, not a misconfiguration. The remaining opportunity is named and NOT taken: this pins every image pipeline, including families that never mask and could use a fast kernel. The video path already decides that per pipeline class; doing the same here needs the masking image families enumerated and each measured, because getting it wrong is a 500 at the first denoising step rather than a slow render. Co-Authored-By:Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014T3rZozi1Ehk96NG1WesgC
Showing
Please
register
or
sign in
to comment