fix(metal): scope MLX AppleClang warning suppression - #30
Merged
mudler merged 1 commit intoAug 4, 2026
Merged
Conversation
Keep MLX headers behind the imported SYSTEM dependency boundary and also suppress -Wgnu-folding-constant only while parsing the MLX public includes. Extend the regression guard to require both protections. FOLLOWING_AGENTS_PROTOCOL Assisted-by: Codex:gpt-5 [systematic-debugging] [test-driven-development]
mudler
added a commit
that referenced
this pull request
Aug 6, 2026
…ineage REFUTED, gap is engine context not codegen #75 owed obtaining vLLM's wheel ptxas (hypothesized older CUDA 12.x lineage) and A/B'ing it. Done. The lineage hypothesis dies three ways: (a) cuobjdump of vLLM 0.25.0 _vllm_fa2_C.abi3.so = 52 sm_80 cubins + 52 PTX .version 9.0 (= CUDA 13.0, our own major), NO sm_12x cubin. On GB10 the sm_80 SASS can't run, so vLLM's flash SASS is DRIVER-JIT'd from compute_80 PTX by the box CUDA-13.0 driver — the same assembler #75's Build C already used. There is no older-CUDA-12.x wheel ptxas anywhere in vLLM's path. (b) ptxas 12.8 (the only sub-13 ptxas on the box) tops out at sm_120a and cannot target sm_121a or read PTX 9.0 — an old-12.x sm_121a cubin is impossible. (c) same-params cuModule A/B: the byte-identical c8 decode kernel from our compute_80+fast-math PTX and vLLM's own PTX #30, via driver-JIT / ptxas 13.0 / ptxas 13.2 (all REG=241), ties at ~144us (module/native ratios 0.969-1.013, a +-1.3% tie; the lone 0.969 is box-drift, contradicted by its sisters). Corrected mechanism: flash-kernel CODEGEN is at PARITY across every reachable toolchain AND vs vLLM's own PTX; the +10us/call the engine showed (167 vs 157) is ENGINE CONTEXT (neighbour L2/orchestration, per #69), NOT ptxas. Retires #75's "ptxas SASS-scheduling quality" attribution. No vendor (nothing beat the driver JIT we already use). Binding UNCHANGED c1 1.020 / c2 0.962 / c4 0.966 / c8 0.969; MXFP4 TERMINAL below-floor at c2-c8. hd256 (27B/35B) projection: same structure (sm_80-only PTX driver-JIT'd), no hd256 vendor owed. No functional code shipped; CMakeLists NOTE + benchmark-record (#82) + spec CLOSED record the closed levers. FOLLOWING_AGENTS_PROTOCOL Assisted-by: Claude Code:claude-opus-4-8 [ClaudeCode]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
SYSTEMinclude boundary-Wgnu-folding-constantsuppression to the MLX public includesVerification
python3 tests/scripts/test_mlx_system_headers.py(4 tests, 2 skipped because this Linux host has no CMake/Clang)python3 tests/scripts/test_compiler_pragma_boundaries.pypython3 scripts/check-doc-checkpoint.py --stagedpython3 tests/scripts/test_doc_checkpoint.pypython3 scripts/check-agent-record.pypython3 tests/scripts/test_agent_record.pygit diff --cached --checkThe binding AppleClang/MLX build remains the Darwin CI gate.