Conversation
Mirrors upstream's frontend/backend release split (mlx + mlx-cpu) and its own test-wheel action on the riscv64 manylinux image. Forces CMAKE_INSTALL_LIBDIR=lib since Rocky's lib64 default otherwise makes setup.py's backend packaging step drop the compiled libmlx.so.
luhenry
added a commit
that referenced
this pull request
Sep 13, 2026
setup.py's get_version() shells out to 'git rev-parse --short HEAD'; the bind-mounted checkout is owned by a different uid than the container's root, so git refuses it as dubious ownership without this.
test_compile_release_on_another_thread expects gc.collect() on one thread to synchronously finalize a compiled function's thread_local cache entry observed from another; cp314t's true parallelism does not guarantee that ordering the way GIL-serialized builds do (reproduced deterministically twice, see ml-explore/mlx#4377 for the thread_local+weak_ptr design this stresses).
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.
mlx0.32.2Apple's array/ML framework; this builds its CPU-only backend (Metal is macOS-only and already skipped by upstream's own CMakeLists on Linux). Upstream publishes no riscv64 wheel for either package it releases here.
Mirrors upstream's
release.ymlbuild_frontend/build_backend/test_wheeljobs, narrowed to Linux cpu:mlx(per-interpreter nanobind bindings) andmlx-cpu(the compiledlibmlx.so) both ship, since one is useless without the other.Differs from upstream
-DCMAKE_INSTALL_LIBDIR=lib- Rocky'slib64default otherwise makes setup.py's backend packaging step drop the compiledlibmlx.soentirely.-DCMAKE_COMPILE_WARNING_AS_ERROR=ON- the image's newer libstdc++ deprecatesstd::atomic_exchange/atomic_loadonshared_ptr, which upstream's own older-libstdc++ runners never see.Testing
python/tests/run.py); torch/ml_dtypes stay import-guarded and optional like upstreamLicense: Wheel bundles libopenblas (BSD) and libgfortran (GPL-3.0 with the GCC runtime exception); upstream ships no licence text for either, so the build adds openblas's and a
gpl_sourcesjob publishes gcc's.Built on cp312 (aarch64 rehearsal); 785 passed, 88 skipped, 0 failed.