Skip to content

torchmonarch: Add version 0.7.0 - #3182

Merged
luhenry merged 3 commits into
mainfrom
torchmonarch
Oct 27, 2026
Merged

luhenry merged 3 commits into
mainfrom
torchmonarch

Conversation

@luhenry

@luhenry luhenry commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Compiles Monarch's PyO3 extension (an ~850-crate Rust workspace) and its two libtorch C++ extensions, with the CPU-only tensor engine. Upstream publishes no riscv64 wheel.

Mirrors upstream's publish_release.yml (build-dist.yml, and the CPU-only build-macos.yml leg).

Differs from upstream

  • Builds against registry torch==2.14.0 (upstream 2.14.1) - newest riscv64 torch we host.
  • CPU-only tensor engine - no CUDA toolkit on riscv64; same build as upstream's macOS wheels.
  • Dashboard frontend bundled on an x86 runner, as upstream's ci.yml does - node.js has no riscv64 release.
  • Installs only protobuf-compiler - clang-devel/libunwind serve the CUDA/RDMA crates only.
  • auditwheel repair excluding libtorch/libc10 - upstream renames the tag without repairing.
  • CARGO_BUILD_JOBS=2 plus 16 GB swap - memory guard for the ~280 MB extension link.

Matrix: cp312/cp313/cp314 - upstream ships no free-threaded build.

Testing

  • upstream's import monarch check, plus its CPU-runnable test_extension_linking.py, test_rust_bindings_load.py, test_grad_generator.py and test_python_actors.py::test_stream.

License: OK

Counts pending the first riscv64 CI run.

Build Meta's Monarch (setuptools-rust PyO3 extension over an ~850-crate
Rust workspace, plus two libtorch C++ extensions) with its CPU-only tensor
engine against the registry's torch 2.14.0, mirroring upstream's release
builder and its macOS CPU leg. The dashboard frontend is bundled on an x86
runner, as upstream's ci.yml does, since node.js has no riscv64 release.
luhenry added a commit that referenced this pull request Oct 14, 2026
…ning (PR #3183), auto-gptq -> parked (CUDA-only extensions; CPU build is py3-none-any, upstream unmaintained)
@luhenry
luhenry marked this pull request as draft October 14, 2026 11:31
All three interpreters failed identically after ~3h20m of compiling, deep
in the ~850-crate graph: libsqlite3-sys's build script uses bindgen,
which panics with "Unable to find libclang" because clang-devel (the
package providing libclang.so) is not installed. The existing comment
assumed clang-devel only served the CUDA/RDMA crates a CPU build skips;
libsqlite3-sys needs it too.
pyarrow>=17 is a runtime dependency of the built wheel. At test-install
time, pip resolves it against both pypi.org and pypi.riseproject.dev;
both list 26.0.0, but only ours is a riscv64 wheel. Without a binary
preference pip source-builds PyPI's sdist instead, and that needs the
real Apache Arrow C++ (no FindArrow.cmake in the container), so cp313
and cp314 died in pyarrow's CMake configure. See gotcha 354.
@luhenry
luhenry marked this pull request as ready for review October 27, 2026 14:20
@luhenry
luhenry merged commit 0ae4728 into main Oct 27, 2026
9 checks passed
@luhenry
luhenry deleted the torchmonarch branch October 27, 2026 14:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant