Commit Graph

104 Commits

Author SHA1 Message Date
Zejian Wang c0d07af568
[TransferEngine][ROCm] Add ROCm HIP support to the Mooncake Python package (#1742)
* Add ROCm HIP support to the Mooncake Python package

Expose HIP as the Python-facing AMD GPU transport, wire HIP transport into the
build and runtime selection paths, and fix sticky peer-access errors so
repeated connector initialization works reliably. Update wheel packaging and
container validation to cover ROCm HIP usage in vllm-omni.

Signed-off-by: Zejian Wang <zejianwang@sjtu.edu.cn>

* [Bugfix] Decouple HIP transport from NVLink branch

HIP IPC is intra-node only and should coexist with RDMA, not replace it.

Signed-off-by: Zejian Wang <zejianwang.sjtu.edu.cn>
Signed-off-by: Zejian Wang <zejianwang@sjtu.edu.cn>

* Abandon manual transport

Signed-off-by: Zejian Wang <zejianwang.sjtu.edu.cn>
Signed-off-by: Zejian Wang <zejianwang@sjtu.edu.cn>

* style: apply clang-format to changed files

Signed-off-by: Zejian Wang <zejianwang@sjtu.edu.cn>
Made-with: Cursor
Signed-off-by: Zejian Wang <zejianwang@sjtu.edu.cn>

---------

Signed-off-by: Zejian Wang <zejianwang@sjtu.edu.cn>
Signed-off-by: Zejian Wang <zejianwang.sjtu.edu.cn>
Co-authored-by: Zejian Wang <zejianwang@sjtu.edu.cn>
2026-04-13 11:13:10 +08:00
Stary a2207f464b
[Docker] fix(docker): respect PYTHON_VERSION build-arg when building wheel (#1745)
---------

Signed-off-by: staryxchen <staryxchen@tencent.com>
2026-04-10 09:56:19 +08:00
Xuchun Shang e8e8e05d55
feat(store): expose drain job control via master HTTP API (#1815)
* feat(store): expose drain job control via master HTTP API

 Add Phase 1 drain control-plane endpoints on Master HTTP server, keep
 client-side task fetch execution unchanged, and add C++/Python end-to-end
 verification for drain flow and segment state transitions.

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

* update

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>

---------

Signed-off-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>
2026-04-09 14:33:45 +08:00
Zhanhao Cao e9f288713a
[Misc] Fix silent failure in `code_format.sh` when clang-format is missing (#1824) 2026-04-06 12:19:26 +08:00
fatSheep 7d0978b9ca
[Store] Add Upsert API for in-place object updates (#1662)
Co-authored-by: fatSheep <tzh2005t@gmail.com>
2026-04-03 10:24:37 +08:00
Cruz Zhao 9351a54014
fix: correct TP zero-copy put semantics (#1685)
* fix: correct TP zero-copy put semantics

* fix: apply clang-format to store binding

* fix: default batch TP-from results to errors

* fix: return success for batch TP put-from

Ensure batch_put_tensor_with_tp_impl reports zero on fully successful shard writes so TP zero-copy Python tests don't fail with false INVALID_PARAMS results.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* tests: align TP zero-copy benchmark with get API signature

Keep the TP zero-copy benchmark focused on put-from semantics by removing an unsupported split_dim argument from batch_get_tensor_with_tp_into.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* trigger ci

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Xuchun Shang <xuchun.shang@linux.alibaba.com>
2026-04-01 09:45:53 +08:00
Xun Sun 77ae1034a6
[PG] Enable asynchronous recovered-rank initialization with deferred join (#1744)
During Elastic EP rank recovery, the recovered rank must re-run expensive initialization (especially CUDA graph capture).
  Previously, this required the recovered and healthy ranks to enter the same communication phase, which paused healthy-rank inference and increased recovery disruption.

  This change enables **asynchronous recovered-rank initialization** in Mooncake PG: recovered ranks can initialize in isolation first, then join the live process group after local recovery work is finished.
2026-03-29 13:26:21 +08:00
ybyang fad70b90d9
[CLI] add script for metadata management (#1746)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-26 13:18:19 +08:00
xleoken 86fef8cbeb
add required library when build (#1674)
Signed-off-by: xleoken <xleoken@163.com>
2026-03-25 10:43:46 +08:00
Xun Sun 59c9f90151
[CI] Update artifact selection criteria in workflow (#1700) 2026-03-19 22:38:06 +08:00
Shangming Cai 30e9fbba2d
Enhance build_wheel.sh to support uv as well (#1694)
Added conditional checks to use 'uv' if 'pip' is not available for package installation.
2026-03-19 14:14:45 +08:00
1180300720 22ecbd794e
[CI] update ascend ci and docs (#1683)
Co-authored-by: ZhaoBaiwei <zhaobaiwei@huawei.com>
2026-03-17 20:34:42 +08:00
shicanwei.scw fd73547e26
[CI] force reinstall mooncake wheel (#1667)
Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>
2026-03-16 14:00:51 +08:00
Cruz Zhao 0c310237d7
[Store] put tensor zero copy (#1480)
---------

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>
2026-03-13 22:59:43 +08:00
Copilot 9bd773e6fe
[EP] Move EP/PG wheel-building logic from build_wheel.sh into CMake (#1616) 2026-03-12 22:24:12 +08:00
Copilot 99e9ecee6d
[Build] Remove py3.8 logic from scripts/build_wheel.sh (#1615)
* Initial plan

* Remove py3.8 logic from scripts/build_wheel.sh

Co-authored-by: UNIDY2002 <41641284+UNIDY2002@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: UNIDY2002 <41641284+UNIDY2002@users.noreply.github.com>
2026-03-06 17:15:45 +08:00
shicanwei.scw 7af8470f07
feat(tests): add vLLM version-adaptive proxy selection with parameterized readiness check (#1565)
Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>
2026-02-28 11:26:40 +08:00
Socratesa 7386f21f96
[PG/EP]: fix EP/PG extension linking and avoid patchelf CUDA fatbin corruption (#1571)
Signed-off-by: Socratesa <lihaode@zju.edu.cn>
Co-authored-by: Socratesa <lihaode@zju.edu.cn>
Co-authored-by: Xun Sun <UNIDY2002@outlook.com>
2026-02-27 22:21:03 +08:00
胡皓然 40cebe30b3
[CI]Add sglang elastic ep backend testcases (#1561)
Impelemented PRODUCT, MIN, MAX logic in reduce kerlel and Added unit tests in test_mooncake_backend.py to cover new ops
2026-02-26 12:37:18 +08:00
Teng Ma b381320156
[Store] add safe tensor API (#1199)
---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Xuchun Shang <xuchun.shang@gmail.com>
2026-02-26 10:11:10 +08:00
shicanwei.scw 1c9da7167f
[CI] Fix CI test cases in sglang containers (#1555)
* fix(ci): update execution directory to registered/distributed

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>

* feat: install sglang-router automatically when not found in sglang images

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>

* fix: correct tokenizer grep keyword and use -F flag for safe string matching

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>

---------

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>
2026-02-25 18:45:00 +08:00
qiuweit7 30e48cfd93
[Store] feat: CXL storage full features. (#1531)
* [Store] feat: CXL storage full features.

* fix(ci): resolve cxl test failure and code format

* fix(ci): add CXL protocol support and fix code format issues

* [Store] feat: CXL storage full features, reset and rm extern/pybind

* [TE] Support TCP fallback in EFA build and improve EFA documentation (#1523)

When building with USE_EFA=ON, auto_discover is disabled to prevent
RDMA transport installation (QP creation fails on EFA devices). This
means TCP transport is also not installed automatically. Add explicit
TCP transport installation for non-EFA protocols in the EFA build path.

Documentation changes:
- build.md: Add USE_EFA option and clarify USE_CUDA default/purpose
- supported-protocols.md: Add EFA as a supported protocol
- efa_transport.md: Add USE_CUDA=ON to build command, document GPU
  memory requirement

Co-authored-by: whn09 <whn09@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Teng Ma <teng-ma@linux.alibaba.com>

* [Store] Optimize BucketStorageBackend for reduced lock contention and add delete safety (#1456)

* fix(ci): resolve cxl test failure and code format

* [Store] Add Local Cache Mechanism for Mooncake Store Client (#1226)

* feat(Store): add local hot cache for client

* feat(Store): add client local hot cache log to show performance

* fix: local hot cache initialize bug

* fix(Store): Mooncake put slice is max 16MB, so make local hot cache block 16MB

* feat(Store): move local hot cache initialization to Client::Create

* feat(Store):  local hot cache remove unused small block implementation

* feat(Store): add client local hot cache unit test

* fix(Store): modify client local hot cache suit with v0.3.7

* feat(Store): change local hot cache unit tes

* fix: initialize local hot cache with negative value

* feat: use in process master and metadata fro local hot cache unit test.

* feat: update local hot cache to one replica one slice version

* fix: local hot cache unit test use in process master service

* fix: code style fix

* fix: fix dirty read when client wants to read a previously hitted hot block but the hot block is modified by incoming put actions

* fix: local hot cache unit test use in process master service

* fix: code format fix

* fix: fix comment problems for

* feat: add local hot asynchronous queue size limit

* fix: local hot cache task involves the block so that there is no memcpy operation when inserting local hot cache

* fix: code check fix

* fix: update block in_use prop to reference count

---------

Co-authored-by: shichangzhang064 <zhangshichang@h-partners.com>

* fix(ci): add CXL protocol support and fix code format issues

* fix: address comments from code review

* fix(ci): resolve cxl test failure

* fix(ci): resolve ci error

---------

Co-authored-by: 王鹤男 <wanghenan09@gmail.com>
Co-authored-by: whn09 <whn09@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Teng Ma <teng-ma@linux.alibaba.com>
Co-authored-by: Mahesh Bapatu <153306023+maheshrbapatu@users.noreply.github.com>
Co-authored-by: Shichang Zhang <77728761+Shichang-Zhang@users.noreply.github.com>
Co-authored-by: shichangzhang064 <zhangshichang@h-partners.com>
2026-02-24 19:59:45 +08:00
1180300720 b847d5c41f
[TE] Ubshmem transport support ipc memory and build allocator when set USE_UBSHMEM=ON (#1519)
* enable ipc and allocator

* fix cr

* fix gemini reviews

* rename allocator and remove fallback to alcrtMalloc

---------

Co-authored-by: ZhaoBaiwei <zhaobaiwei@huawei.com>
2026-02-14 19:30:06 +08:00
Jasonzhang517 8d5adc21bf
[CI] opt: add ci switch and free space codes (#1540) 2026-02-12 23:25:38 +08:00
shicanwei.scw 393ad48967
[CI]Add sglang epd testcases (#1528)
* feat(ci): add sglang epd test case

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>

* refactor: update dual-machine test cases to adapt to new common functions in common.sh

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>

---------

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>
2026-02-12 00:34:30 +08:00
tang c724318217
[Store][Feature] copy and move client support (#1364)
* [Store]: add task executor feature with unit and executor test

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Store]: add some optimizations to task executor

Refactor the task_executor into the client_service and add a
task structure on the client side. Additionally, remove the
existence check in the execute function;
only retrying should be performed if replica allocation fails.

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Store]: get source replica from copyStart or moveStart api

* [Store]: call move or copy end if the target replica already exist to complete the replication task

* [Store]: use the max_retry_attempts in master side

* [Store]: add client integration test and set default max_retry_attempts to 10

* [Doc] update task api introduction

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Store] Set copy and move as private methods

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>

* [Doc]: change the default task max_retry_attempts to 10

* [Doc]: fix some description error

* [Store]: allocate the buffer size to be a multiple of 16MB

* [Store]: validate the replica is in local and directly construct slices from replica buffer address instead of copy the data to local buffer

* [Store]: change the validate logic to directly use transfer engine endpoint or local_hostname_.

* [Store] add e2e ci test for copy and move api

* [Store] refactor the client move and copy function

* [Store] fix the e2e test

* [Store] remove unused code

* [Store] add source field when build replica copy payload in the task_manager_test

* [Store] rename back to snake case for split_into_slices function and also remove hard code for client poll count

* [Store] revert mis deleted field when resolve conflicts

* [Store] change test to validate the real behaviour

* [Store] change the default task fetch size to 16

* [Doc]: change the replica copy/move sequence diagram

* [Store] add new split_into_slice method

* [Store] change the real client to use split_to_slice with buffer handle parameters

---------

Signed-off-by: Vincent Gao <vincentbo@linux.alibaba.com>
Co-authored-by: Vincent Gao <vincentbo@linux.alibaba.com>
2026-02-06 19:02:02 +08:00
Xinyi Zhang e87fb51e3f
[Misc] fix wheel build script (#1504) 2026-02-06 10:59:55 +08:00
Teng Ma f236abc4b7
[Build] Update package name and keywords for CUDA 13 build (#1506) 2026-02-06 09:58:15 +08:00
Xun Sun a00f757424
Modifying package name for CUDA-13 build (#1502) 2026-02-05 18:33:00 +08:00
Shangming Cai 4c620377a4
Revert "[Build] auto add commit id to pyproject toml (#1345)" (#1501)
This reverts commit 2b802a62a2.
2026-02-05 17:21:23 +08:00
Shangming Cai e5d9e7a503
Add TODO for more cu13 version support in build script (#1496)
Added a TODO comment to indicate future support for more CUDA 13 versions.
2026-02-05 16:05:58 +08:00
Shangming Cai adfa9374ab
Update PyTorch installation URL for CUDA 13 (#1495) 2026-02-05 15:15:46 +08:00
shicanwei.scw 61536b95b6
[CI]Add vllm 1p1d test case (#1491)
* feat(CI test case): add vllm 1p1d test case

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>

* fix(run_test.sh): update help message to reflect run-all behavior without arguments

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>

* fix(test_vllm_1p1d_erdma.sh): adjust request parameters to prevent repetitive content generation

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>

* feat(test_vllm_1p1d_erdma.sh): add response content validation for Paris keyword

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>

---------

Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>
2026-02-05 10:40:53 +08:00
shicanwei.scw b4a9b284c1
(feat) CI: testcases can run in a docker (#1454)
Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>
2026-02-03 09:56:12 +08:00
shicanwei.scw 46c451b005
[CI] fix: update router service check, test env, and docker image pulling (#1446)
Signed-off-by: shicanwei <shicanwei.scw@alibaba-inc.com>
2026-01-27 23:43:59 +08:00
Ruoyu Qin b064a662e4
[Wheel] Remove the default buffer pre-allocation in initialize() (#1415)
* remove pre-allocate

* fix
2026-01-21 23:14:41 +08:00
shicanwei.scw 27045681f7
[CI] Set DEFAULT_MODEL_NAME_FOR_TEST to meta-llama/Llama-3.2-3B-Instruct for test_disaggregation_different_tp (#1412)
Signed-off-by: shicanwei.scw <shicanwei.scw@alibaba-inc.com>
2026-01-21 13:09:15 +08:00
Stary 0267e354ec
[CI] chore: update clang-format to v20.1.8 and enforce version 20 (#1379)
* chore: update clang-format to v20.1.8 and enforce version 20

- Upgrade clang-format pre-commit hook from v19.1.0 to v20.1.8
- Update code formatting script to require clang-format-20
- Extend file extensions to include .c, .cc, and .cxx
- Add 'thirdparty' directory to exclude list
- Improve installation instructions for clang-format-20

Signed-off-by: staryxchen <staryxchen@tencent.com>

* refactor(code_format): simplify file filtering logic

- Replace hardcoded file extensions with configurable FILE_EXTENSIONS variable
- Improve maintainability and flexibility of file selection

Signed-off-by: staryxchen <staryxchen@tencent.com>

---------

Signed-off-by: staryxchen <staryxchen@tencent.com>
2026-01-21 00:08:52 +08:00
Cruz Zhao 65019f94ab
[Build] Retrieve the actual glibc version during the build process (#1402)
* [Store] Retrieve the actual glibc version during the build process

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

* [build] avoid use hardcode libc.so.6 and avoid use python in shell script

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

---------

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>
2026-01-20 23:19:29 +08:00
shicanwei.scw 731f0ea2c7
[CI]Add testcase test_disaggregation_different_tp and fix potential network issues (#1386) 2026-01-16 14:15:40 +08:00
ympcMark 971c99ddca
Split Mooncake PG out of Mooncake EP (#1387) 2026-01-16 13:39:37 +08:00
Stary 30ca0868d5
[CI] Improve Code Formatting Workflow (#1368)
* chore: add code formatting script and update PR template

- Add code_format.sh script for automated C/C++ code formatting
- Update pull request template to include code formatting checklist item

Signed-off-by: staryxchen <staryxchen@tencent.com>

* ci: simplify clang-format workflow by using script

- Consolidate checkout steps into a single step with fetch-depth: 0
- Replace manual changed file detection and formatting with unified script call
- Improve base ref determination for both PR and push events

Signed-off-by: staryxchen <staryxchen@tencent.com>

---------

Signed-off-by: staryxchen <staryxchen@tencent.com>
2026-01-14 14:46:07 +08:00
Teng Ma 2b802a62a2
[Build] auto add commit id to pyproject toml (#1345)
* [Build] auto add commit id to pyproject toml

* Update scripts/build_wheel.sh

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-10 12:18:38 +08:00
Xun Sun e1007e7bcd
[Build] Fix torch index (#1349)
Fix cu13 release
2026-01-09 15:53:09 +08:00
Teng Ma b8dbc2654d
[CI] add cuda13 wheel release workflow (#1331)
* [CI] add cuda13 wheel release workflow

* Update .github/workflows/release-cuda13.yaml

Co-authored-by: Xun Sun <UNIDY2002@outlook.com>

* update

* Update scripts/build_wheel.sh

Co-authored-by: Xun Sun <UNIDY2002@outlook.com>

---------

Co-authored-by: Xun Sun <UNIDY2002@outlook.com>
2026-01-08 14:16:16 +08:00
Cruz Zhao 0b149e6c13
[store] support batch pub and tp aware for pub_tensor (#1288)
* [store] support batch and tp aware for pub_tensor

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

* add test cases for pub tensor

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

* add docs for pub tensor

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

* fix description

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

* fix typo

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

* fix typo

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>

---------

Signed-off-by: Cruz Zhao <CruzZhao@linux.alibaba.com>
2025-12-29 11:07:26 +08:00
Xuchun Shang f7f65aa140
[store] add async api (#1265)
* [store] add async api

Signed-off-by: Xuchun Shang <xuchun.shang@gmail.com>
2025-12-25 16:46:14 +08:00
Feng Ren e8db9e54cf
[TE] Add TENT codebase to main (Phase 1: structural import) (#1213)
* [TE] Add TENT to main branch: Phase 1

* Fix CI issues

* Apply suggestions from code review

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Fix build bug

* Update code format

* Fix code format issue

* disable building Mooncake TENT by default

* Code reformat

* Revise benchmark code and add docs

* format bench code

* Retrigger

* Update Python APIs

* Fix bugs

* Register memory in parallel

* Fix wheel packing

* Format fix

* reformat

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-12-22 19:22:13 +08:00
Cruz Zhao 1a5983e756
[store] zero copy for get_tensor() and batch_get_tensor() (#1192) 2025-12-19 08:38:17 +08:00
Xuchun Shang 31c45e47f5
refactor tensor api and add tests (#1217)
* refactor tensor api and and tests

Signed-off-by: Xuchun Shang <xuchun.shang@gmail.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-17 16:45:49 +08:00