Repository navigation
Qualify post-v0.2 upstream changes with context ABI and FP8 CPU safety checks #20
Description
Triage
P2 / enhancement / owner qualification. The FP8 report is upstream-confirmed; exposure of our pinned artifact is NOT established.
Evidence and benefit
Our v0.2.0-3 manifest pins 3f8527a46c54ecf4cb4ed6003da8e8982283c73c (ggml 89c4413f). Raw main on 2026-10-15 was 120e3e875c5501c1babb50c0966122cb569d12d4 (ggml d25b121c).
- Flash Attention and convolution mode updates append flash_attn_mode and conv_direct_mode pointers to sd_ctx_params_t: feat: add per-module automatic flash attention selection leejet/stable-diffusion.cpp#2132 and feat: add automatic direct convolution selection leejet/stable-diffusion.cpp#2134
- Wrapped iGPU memory reclamation: fix: reclaim before accepting wrapped Vulkan iGPU memory estimates leejet/stable-diffusion.cpp#2124 (60423ab5; first raw release master-961-60423ab). Broader upstream #2022 remains open.
- FP8 E4M3 CPU report #2139 now has merged repair #2140:
2891378bb17dbed110b391f9aab47d241413153d, first raw releasemaster-966-2891378. CPU matmul falls back from FP8; pinned-artifact exposure still requires reproduction. - Vulkan auto-convolution slowdown #2137 has merged repair #2141:
e47426c04460827e698b6f88ec6431a2007d5c27, firstmaster-967-e47426c. Qualify end-to-end output and timing, not only the probe. - Historical 2026-10-16 raw head/release was
8cd731e7b4667eb8f40a153315b9a7125d09a58d/master-968-8cd731e: FLUX.3 Image Klein and Klein Base join Iris-3B and Z-Image L2P. MoSR is an upscaler, TAEQI2.1 an autoencoder, and Qwen Image 2.1 Turbo a schedule variant. None is added by unchanged published v0.2.0-3. Consumer recipes are tracked in llamadart#1130; #1069/#1070 in llamadart retain their separate scope.
New raw evidence — 2026-10-17
Current raw main/release: f0aac524d3f29140e60ba78f3cfb16d6acea87db / master-973-f0aac52. Owner, current main and published core 0.14.0 still pin v0.2.0-3 / 3f8527a46c54ecf4cb4ed6003da8e8982283c73c.
- Windows UTF-8 model/CLI paths are now merged in #2144 (
8c442fb0, first master-969) / #2145 (2f016e8e, first master-970). They remain absent from the owner artifact; test model and auxiliary/output paths separately. - #2148,
68285df3, adds MOSS-Image Base/SFT, Qwen3.5 encoder and external tokenizer requirements. Consumer llamadart#1166 owns distinct tokenizer/recipe work. Iris, Z-Image L2P and FLUX.3 remain raw-only too. - #2149 independently isolates Metal GROUP_NORM leaving batch items after the first unwritten in official master-968/969 libraries (CPU controls pass); batched CFG then returns white images. This is an upstream-reported candidate correctness gate, not proof our older pinned artifact is affected, and not the same mechanism as owner Metal: a failed GPU command buffer still returns an image as success #19's command-buffer failure.
- #2147 refreshes ggml/removes conv1d workarounds. Latest raw CI succeeds after the earlier MUSA container failure; successful packaging is not model correctness evidence.
Additional acceptance: model-free asymmetric GROUP_NORM batch-1/batch-2 sentinels plus real-image batched/unbatched CFG controls on the exact candidate and pinned owner Metal library; fail closed or retain a supported unbatched route if affected. Cover MOSS tokenizer/FLUX.2 VAE loading (#2150 report lacks full logs) and Windows non-ASCII paths. Preserve SD#19 at P1 independent of mitigations or missing hardware.
Acceptance
- Select an exact candidate; audit wrapper exports and struct sizes/offsets/default initialization. An appended pointer changes FFI layout; a pin-only update with old bindings is not acceptable.
- Reproduce or explicitly bound FP8 CPU exposure on the pinned artifact and candidate. Add positive and negative controls ensuring fallback or an actionable refusal, never a process crash. Do not label current llamadart affected without evidence.
- Preserve explicit on/off behavior when adopting auto modes; qualify CPU/Metal/Vulkan, mixed-device decisions, memory pressure, logs, cancellation and error-state recovery. Retain existing iOS direct-VAE refusal unless independently fixed.
- Validate representative new families/components and reject unsupported weight variants; link consumer API work rather than claiming native support equals Dart support.
- Produce digest/provenance-verified platform bundles, exports, Apple XCFramework minimum-OS/privacy/signing checks, then coordinate generated bindings, pins, request/capability mapping, docs and examples.
- Keep existing owner Metal: a failed GPU command buffer still returns an image as success #19 and upstream video/VAE/HIP problems separate unless the exact candidate demonstrably fixes them.
Boundaries
Tracking/qualification only. This issue does not authorize publication, workflow dispatch, paid hardware runs, downstream pin changes, or weakening supported-channel policy. No PR-caused regression is alleged without a causal reproduction. Preserve immutable historical artifacts and record unavailable models/hardware explicitly; CPU/software fallback is not hardware GPU qualification.
Activity
leehack commentedon Oct 15, 2026
Consumer API dependencies: llamadart#1069 (MoSR/upscaling) and llamadart#1070 (Turbo sigma configuration). Existing owner #19 is triaged separately as P1 false-success correctness; upstream-update preparation does not silently close it.
leehack commentedon Oct 17, 2026
Raw advanced to master-973-f0aac52, while published owner/core 0.14.0 image pin stays v0.2.0-3. Added merged Windows UTF-8 fixes, MOSS-Image / consumer #1166, and the exact official-library Metal GROUP_NORM batch defect #2149 as a candidate gate. Pinned exposure is unproven; owner #19 remains a separate P1. Raw CI 39009185406 succeeds; the prior failure was the MUSA container job, not evidence that every backend failed. No artifact, binding or public model-support upgrade is claimed.
leehack commentedon Oct 18, 2026
2026-10-18 candidate delta: raw main is
d55cc0f75f9f9c71af2a7b2fd6cf3c6d10420151; latest raw release remains master-973-f0aac52, owner/core image pin remains v0.2.0-3 (3f8527a46c54). #2160 adds MOSS split-QKV/host loading (consumer #1166); #2159 adds Diffusers MiniMax-H3 LoRA mappings/alpha semantics, not a new model family or current Dart video feature. New #2154 reports Krea2 AMD-dGPU OOM around the previously tracked memory-reclamation change; follow-up implicates FA/conv-mode interactions too, so causality is not settled. Add exact pinned/candidate controls with FA/conv on/off and memory headroom before treating the iGPU repair as universally safe. No pinned exposure is established; Metal #19 remains P1 and #2149 remains separate. Raw #2150 closed by installation correction, not a proven VAE patch.