Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -831,12 +831,6 @@ if(VLLM_CPP_METAL)
endif()
target_compile_definitions(vllm PUBLIC VLLM_CPP_MLX)
target_sources(vllm PRIVATE src/vt/metal/metal_mlx_provider.mm)
# MLX 0.29.x headers use GNU-folding expressions that AppleClang diagnoses.
# Suppress that one external-header diagnostic for this TU. A source-level
# -Wno-error is ordered before vllm_cpp_set_warnings' target-level -Werror,
# so AppleClang promotes it again.
set_source_files_properties(src/vt/metal/metal_mlx_provider.mm PROPERTIES
COMPILE_OPTIONS "$<$<COMPILE_LANG_AND_ID:OBJCXX,AppleClang>:-Wno-gnu-folding-constant>")
# SYSTEM so MLX's own headers cannot break our -Werror build.
target_include_directories(vllm SYSTEM PRIVATE "${MLX_ROOT}/include")
target_link_libraries(vllm PUBLIC ${MLX_LIBRARY})
Expand Down
5 changes: 5 additions & 0 deletions docs/BENCHMARKS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6530,6 +6530,11 @@ us by about 1.5 points.
The default (non-MLX) build is **95.9%** against this corrected baseline, not
96.4%.

The 2026-08-02 AppleClang warning-suppression correction is **NOT APPLICABLE**
to benchmark results: it changes only whether the optional MLX provider compiles
under target-wide `-Werror`. Darwin CI remains the build-verification gate; no
runtime path, measurement, or binding number changed.

**Everything qualitative in the entry below still holds** — MLX wins prefill, the
shape gate is the right disposition, the fallback hoist was worth 27.2 vs 17.8 —
only the headline ratio moves. The gate is still worth about +1.7 points over the
Expand Down
3 changes: 3 additions & 0 deletions docs/STATUS.md
Original file line number Diff line number Diff line change
Expand Up @@ -1407,6 +1407,9 @@ loop, not parallelism or layout. An optional MLX GEMM provider is available via
`-DVLLM_CPP_MLX=ON` and currently measures net slower than our own kernels. Full
per-lever chronology: [docs/BENCHMARKS.md](BENCHMARKS.md) and
[.agents/specs/metal-dispatch-attribution.md](../.agents/specs/metal-dispatch-attribution.md).
The MLX-enabled Darwin build remains **build-verification pending**: its narrow
AppleClang header-warning suppression now lives in the provider translation unit
so the target-wide `-Werror` cannot re-promote it; Darwin CI is the binding gate.

**CUDA architectures.** The production target is GB10/`sm_121a` (runtime-gated,
both gate models token-exact + at/above vLLM speed). The arch-additivity
Expand Down
7 changes: 7 additions & 0 deletions src/vt/metal/metal_mlx_provider.mm
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,13 @@
#include <cstring>
#include <vector>

// MLX 0.29.x uses constant-folded variable length arrays in public headers.
// Keep the target-wide -Werror policy, but ignore that external-header-only
// AppleClang diagnostic after command-line warning options have been applied.
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wgnu-folding-constant"
#endif

// MLX public headers. Deliberately NOT mlx/backend/metal/*: those pull in
// metal-cpp and, as noted above, their entry points are not exported anyway.
#include "mlx/allocator.h"
Expand Down
Loading