Skip to content

fix(tests): repair three mlxcel-core tests after the MLX pin bump - #644

Merged
inureyes merged 1 commit into
mainfrom
fix/pin-bump-cuda-test-hygiene
Jul 2, 2026
Merged

inureyes merged 1 commit into
mainfrom
fix/pin-bump-cuda-test-hygiene

Conversation

@inureyes

@inureyes inureyes commented Jul 2, 2026

Copy link
Copy Markdown
Member

Follow-up to #625 (part of #623). The pin bump to e9463bb plus the CUDA build surfaced three mlxcel-core test failures, all test-side (not product regressions). See the commit body for the per-test analysis: the Metal-only fused paged-decode test now skips on non-Metal backends, the fp16 native-dtype test is backend-aware for the CUDA float16-to-float32 load-time widening, and the steel GEMM edge-tile tolerance is relaxed from 1e-3 to 5e-2 for fp32 reduction-order differences under the new JIT kernel. All three now pass under cargo test --release --features cuda -p mlxcel-core -- --test-threads=1; the rest of the suite is unaffected.

Follow-up to #625 (part of #623). The MLX pin bump to e9463bb and the CUDA build surfaced three mlxcel-core test failures, all test-side issues rather than product regressions.

test_fused_paged_decode_gqa_and_batched exercised the Metal-only fused paged-decode kernel, which throws "No Metal back-end" and aborts the process on a CUDA build (CUDA uses the gather-then-SDPA fallback; native CUDA paged attention is #634); it now returns early on non-Metal backends via metal_is_available(). test_from_bytes_fp16_native_dtype asserted the array stays float16, but the CUDA loader widens float16 to float32 at load time (since 2026-03), so the dtype and itemsize assertions are now backend-aware (float16/2 on Metal, float32/4 on CUDA). steel_gemm_edge_tile_safe_load_matches_reference compared a JIT steel GEMM against a composite reference with a 1e-3 bound; under the new pin the JIT kernel reduces in a different tile order, giving ~0.02 max abs divergence (about 0.1% relative on magnitude-16 sums), so the fp32 reduction-order bound is relaxed to 5e-2, still tight enough to catch a gross edge-tile safe-load bug.
@inureyes inureyes added type:chore Maintenance tasks (build, CI, etc.) priority:low Low priority area:core mlxcel-core: MLX FFI, primitives, KV cache, layers status:done Completed labels Jul 2, 2026
@inureyes
inureyes merged commit 21a6dbf into main Jul 2, 2026
5 checks passed
@inureyes
inureyes deleted the fix/pin-bump-cuda-test-hygiene branch August 4, 2026 12:09
@inureyes inureyes self-assigned this Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:core mlxcel-core: MLX FFI, primitives, KV cache, layers priority:low Low priority status:done Completed type:chore Maintenance tasks (build, CI, etc.)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant