Add a performance-parity Qwen3.8-27B Q4 and Q8 text backend on Metal #88
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Add the Qwen3.8-27B text model to the shared Mojo backend on Apple Metal, proving that common operations are reusable and that Q4 and Q8 preserve correctness and native-Metal performance.
Blocked by #84 through #87. CUDA is deferred to the final optional issue.
Model and reference contract
Scope
Measurements and gates
Isolate causal Conv1D, GDN prefill, GDN decode, recurrent-state update, full attention, the three-GDN-plus-one-attention hybrid block, and the complete model. Measure short contexts and decode positions at 64K, 80K, 96K, 128K, and 262K when memory permits, investigating rather than averaging any long-context cliff.
Q4 must pass correctness and complete performance parity against the pinned native Metal reference on the same Mac. Q8 must pass the same gates where resident and the defined smaller correctness suite elsewhere. Tokens, state transitions, checkpoints, and decisive logits must match the identical-GGUF reference.
Common quantization, matrix, norm, attention, cache, and FFN code must be reused. Update coverage, fixture provenance, raw results, binary closure, and licenses.
Upstream material to reassess
Binding outcome from #84 (2026-08-31)
#84 stopped product integration on Mojo 1.0.0 because the open compiler/standard-library environment has no host-side Metal
DeviceContext. The workingmax.gpu.hostpath requires MAX plus AsyncRT/KGEN dylibs whose component-specific redistribution permission could not be established.mojo build --emit shared-libalso links@rpath/libKGENCompilerRTShared.dylibfor a trivial export.The Qwen text port cannot begin on MAX-backed GPU APIs. Model inventory and native fixtures may proceed, but no Mojo completion or performance claim is possible before the shared runtime gate passes.
These constraints are acceptance criteria:
uv.lock; do not use nightly or an older release;max,max-core,max-mojo-libs, AsyncRT, or KGEN to the product/build/package closure without an authoritative redistribution grant naming every shipped component;docs/MOJO_SPIKE_84.md;If the runtime grant or open host API changes, update #84 evidence first so this milestone has one source of truth.
Add a performance-parity Qwen3.8-27B Q4 and Q8 text backend in Mojoto Add a performance-parity Qwen3.8-27B Q4 and Q8 text backend on MetalBased on findings in #84, all work on MOJO migration is stopped. Licene-hell.
Project decision: the Mojo backend effort is canceled. All committed spike tooling, dependencies, lockfiles, and documentation were removed in
9a33c61; generated probe state was deleted as well. The independent Apple-silicon/macOS-15 product floor remains. This issue is no longer actionable.