Skip to content

mooncake-transfer-engine-non-cuda: Add version 0.3.13.post1 - #2949

Draft
luhenry wants to merge 3 commits into
mainfrom
mooncake-transfer-engine-non-cuda
Draft

luhenry wants to merge 3 commits into
mainfrom
mooncake-transfer-engine-non-cuda

Conversation

@luhenry

@luhenry luhenry commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Compiles Mooncake's C++20 transfer engine and store (TCP/RDMA, etcd via a Go c-shared wrapper) without CUDA. Upstream publishes no riscv64 wheel.

Mirrors upstream's release-non-cuda.yaml and _build-wheel.yaml.

Differs from upstream

  • dependencies.sh replaced by dnf - its EL list needs EPEL, which riscv64 lacks
  • glog, gflags, yaml-cpp, xxHash, msgpack built from source - EPEL-only on Rocky 10
  • Go fetched for linux-riscv64 - upstream's installer only knows x86_64/aarch64
  • -DWITH_STORE_RUST=OFF, as upstream's arm64 profile; no sccache

Testing

  • upstream's release smoke test, plus test_import_structure.py and test_mooncake_config.py from upstream's test_installation.sh

License: Wheel bundles glog, gflags (BSD-3-Clause), yaml-cpp, jsoncpp, liburing (MIT), xxHash (BSD-2-Clause), zstd (BSD-3-Clause AND GPL-2.0-only) and yalantinglibs/asio/msgpack (Apache-2.0/BSL-1.0); upstream ships no licence text, so the build adds it.

Patches

  • 0001-wheel-accept-riscv64-as-a-wheel-architecture.patch - To upstream. build_wheel.sh and setup.py reject any arch but x86_64/aarch64. riscv64-only.

@luhenry
luhenry marked this pull request as draft October 13, 2026 09:27
@github-actions

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://riseproject-dev.github.io/python-wheels/pr-preview/pr-2949/

Built to branch gh-pages at 2026-10-13 11:27 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

…install

AppStream's libcurl-devel 8.12.1-4.el10_2.7 reached the mirror before
BaseOS's matching libcurl, so dnf refused the best candidate. --nobest
falls back to a consistent older pair.
mooncake_master failed to link with an undefined reference to
__atomic_store_16. master_service.h and real_client.h hold a
boost::lockfree::queue, whose tagged pointers Boost packs into 8 bytes
only on x86_64 and aarch64. On riscv64 they stay 16 bytes, and GCC
lowers 16-byte atomics to libatomic calls, which nothing on the link
line provides.

Append -latomic to every C++ link via CMAKE_CXX_STANDARD_LIBRARIES, so
the extension modules that include real_client.h get it as well.
libatomic.so.1 is on auditwheel's manylinux allowlist, so it is not
vendored into the wheel.

This branch has not been deployed

No deployments
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