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.
Current layers — 2026-10-20
-
Latest owner v0.2.0-4, owner
c9922d960c79f7ba7381161ca6784f3b7c1e2fce, retains upstream3f8527a46c54ecf4cb4ed6003da8e8982283c73c. It adds #21's owner Metal failure guard, not the raw feature/ABI upgrade tracked here. Release run 39150529681 succeeded. -
Published core 0.15.4, SD companion 0.15.2 and core main consume v0.2.0-4. The Metal guard and qualified patch-companion handling shipped through #1213 / 0.15.2; qualified locked older companions retain v0.2.0-3 with the documented backstop/warning. This delivers Metal: a failed GPU command buffer still returns an image as success #19's fail-loud contract, not physical-watchdog prevention or newer raw source.
-
Latest raw release master-975-95b3090,
95b3090664d019fcf8fa032a44d1d4793ba244b8, now contains #2160's MOSS split-QKV/batched host loading; raw mainb13a48219d5cdf408edcb93da6cd69b612ed03d3adds documentation links. Raw main is 48 commits beyond the owner source. MOSS (core #1166), Iris-3B and FLUX.3 remain absent from the owner source; LoRA conversion changes are not new image families or Dart video support. -
Raw FP8 repair #2140 (first master-966) and Vulkan auto-convolution repair #2141 (first master-967) remain candidate gains, not proven pin exposure or delivered fixes. Preserve context-pointer ABI/layout/default audits and all acceptance below. Metal GROUP_NORM #2149 and Krea2 AMD OOM #2154 remain open and distinct from Metal: a failed GPU command buffer still returns an image as success #19; no physical-iPhone watchdog prevention is established.
-
New owner defects #23 (confirmed large legacy PyTorch span narrowing) and #24 (unresolved large ZIP load timeout) are separate P2 repairs on the current artifact, not regressions inferred from new raw source. Core #1218 preserves their format-qualification boundary.
-
Raw PR #2166 proposes placement-aware host-pinned memory accounting on the MiniMax-H3 path; it is open, not published, and does not establish a Wan/LTX or general OOM repair. #2171 is an open draft ESRGAN conv-direct control proposal with no reported validation. Keep both as candidate controls, not delivered fixes.
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.leehack commentedon Oct 19, 2026
2026-10-19 delivery/candidate delta: owner v0.2.0-4 publishes #21's Metal guard but retains upstream
3f8527a4; it is not this issue's raw-source upgrade. Public core 0.15.1 still pins v0.2.0-3, while merged #1205/#1208 prepare consumer delivery. Raw master-975-95b3090 now contains MOSS split-QKV loading. Added a dated current-layers block; preserved all FP8/context-ABI, GROUP_NORM, memory and model/device gates. No new runtime qualification claim.leehack commentedon Oct 20, 2026
Delivery reconciliation: core 0.15.4 and SD companion 0.15.2 now consume v0.2.0-4; #19's owner guard is consumer-delivered, not watchdog prevention. Corrected the manifest URL. Raw source/release is unchanged; #2166 host-pinned memory work and #2171 ESRGAN controls remain unmerged. Current-artifact PyTorch defects are separately owned by #23/#24, not resolved by this upgrade umbrella.