Commit Graph

25 Commits

Author SHA1 Message Date
Shangming Cai 8906bdef8f
[chore] Set default for WITH_NVIDIA_PEERMEM to true (#2192)
* [chore] Set default for WITH_NVIDIA_PEERMEM to true
2026-05-22 17:56:40 +08:00
Copilot 7bf33267e2
[Doc] update WITH_NVIDIA_PEERMEM from cmake flag to runtime env var (PR #2066) (#2164)
Agent-Logs-Url: https://github.com/kvcache-ai/Mooncake/sessions/832212c9-6f77-4b98-bbe9-1a726e478400

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stmatengss <11641725+stmatengss@users.noreply.github.com>
2026-05-21 20:14:21 +08:00
LZW 150ab33156
[Docs] clarify Redis build options (#2136) 2026-05-19 16:37:58 +08:00
Xun Sun 7cbb68fe28
[CI] change dependency `libboost-all-dev` to `libboost-dev` (#2129) 2026-05-19 08:28:01 +08:00
Xun Sun 218f2ffdcf
[] feat: add Hygon DCU/DTK and Iluvatar CoreX platform support (#2118)
* feat: add Hygon DCU/DTK and Iluvatar CoreX platform support

Add build system and runtime support for two CUDA-compatible domestic
accelerator platforms:

- Hygon DCU with DTK SDK (USE_HYGON, /opt/dtk/cuda/cuda-11/)
- Iluvatar CoreX SDK (USE_COREX, /usr/local/corex/)

Both platforms expose CUDA-compatible APIs, so the integration follows
the same pattern as existing CUDA-like platforms (MUSA, MACA): add the
new macros to all platform guard chains and register SDK paths in CMake.


---------

Co-authored-by: KarmaD7 <KarmaD7@users.noreply.github.com>
2026-05-18 10:26:56 +08:00
Kafka 7e4a85e1a3
[Store] Fix Rust store build path (#2114) 2026-05-16 14:07:47 +08:00
Venkat Raman 3ac7de25ac
[Store] Add lock-free MmapArena allocator for buffer mmap path (#1820)
* [Store] Add lock-free MmapArena allocator for buffer mmap path

Replace per-allocation mmap() syscalls in allocate_buffer_mmap_memory()
with a lock-free atomic bump allocator (MmapArena). Pre-allocates a
configurable pool (default 64GB) and serves allocations via CAS loop,
reducing allocation latency from ~1us (mmap syscall) to ~50ns (atomic).

Allocation lifecycle is static: all callers (ClientBufferAllocator,
global segments in RealClient::setup_internal) allocate at startup and
free at shutdown. The arena outlives all allocations, so the bump-only
(no individual free) design is correct for this usage pattern.

Feature-flagged via gflags:
  --use_mmap_arena_allocator (default: true)
  --mmap_arena_pool_size (default: 64GB)

Falls back to direct mmap() when arena is disabled, fails to init,
or is exhausted.

Cherry-picked from flow-ipc-poc branch (utils.cpp perf path only).

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

* [Store] Fix three correctness issues in MmapArena

1. Honor caller's alignment contract: allocate() now accepts a
   per-call alignment parameter and uses max(arena default, caller
   request). allocate_buffer_mmap_memory() forwards its alignment
   argument to the arena. Previously, the caller's alignment was
   silently ignored — the arena always used 64-byte alignment
   regardless of what the caller requested.

2. Remove MAP_POPULATE from arena pool mmap: the default pool is
   64GB but callers typically use only a fraction (e.g. 4GB of
   segments). MAP_POPULATE would pre-fault all 64GB of pages upfront,
   causing seconds of startup delay and potentially triggering OOM
   on machines with less physical memory. Pages now fault on demand.

3. Make alignment_ atomic and store it BEFORE the CAS on pool_base_:
   previously alignment_ was a plain size_t written AFTER the release
   CAS, so the store was not in the happens-before relationship
   established by the acquire-release pair on pool_base_. Now both
   alignment_ and pool_size_ are stored before the CAS with the
   release fence guaranteeing their visibility to readers.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-03 14:18:18 +08:00
Dayuxiaoshui cfc5cf4c2a
[TransferEngine][MACA] Align MACA build paths with CMake options (#1888)
Unify MACA SDK path handling with Mooncake's configurable CMake variables and document the new overrides to reduce hardcoded path assumptions.
2026-04-15 09:47:39 +08:00
Dayuxiaoshui 4ae8c7e8bd
[TE] align USE_MACA with MUSA GPU paths and docs (#1814)
* [TRANSFER_ENGINE] align USE_MACA with MUSA GPU paths and docs
Extend CUDA/MUSA/HIP preprocessor guards to include USE_MACA across TE core, tests, and examples; add maca:0 to NIC priority matrix JSON; exclude USE_MACA from USE_MNNVL auto CUDA enablement. Document MACA build (MACA_HOME, USE_MACA, optional MACA_RUNTIME_LIBS) in English and Chinese build guides. Fix maca.h cudaPointerAttributes mapping to mcPointerAttribute_t for MACA SDK compatibility.
2026-04-09 11:54:18 +08:00
phantomlei 223405db96
[TE] feat: setup the RDMA for mlu device. (#1799) 2026-04-08 12:08:53 +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
王鹤男 3cdbbdc6d0
[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>
2026-02-11 10:50:35 +08:00
Shangming Cai 1f61d40c7d
[Doc] Document missing USE_MNNVL compile option (#1525)
* Document missing USE_MNNVL compile option

Add documentation for Multi-Node NVLink transport option.

* upd
2026-02-10 01:05:50 +08:00
Lewis c9d64c91c4
[TE] Nvlink intraNode Transport isolation (#1341)
* Add early mem backend detection method in NVLINK_allocator

Add early detection method for sglang NVLINK_allocator to avoid CuMemCreate

Use enumerate type to indicate mem backend type

format check use pre-commit

* Change enumerate type in allocator.py for different mem backend

* Isolate nvlink intraNode transport from nvlink_transport and modify corresponding transfer_engine_bench

* IntraNode transport isolation to be compatible with SGlang

* Modify the code style using pre-commit check

* isolate intraNode nvlink from previous nvlink_transport

* [TE] Revert to previous nvlink_transport

* Delete extra log and refine the code format

* Discard revert due to new related PR has been submitted

* Change the Code format to align with main branch

* Change to clang-format

* Modify transfer_engine_bench to be compatible with protocol --nvlink_intra

* Delete useless function in intranode_nvlink.cpp

* Used for rerun CI

* Modify the intraNode isolation to be compatible with transfer_bench and transfer_engine_impl

* isolate intraNode header file from mnnvl.h

* Delete specific instaince type for intraNode

---------

Co-authored-by: 百麒 <yaozhong.lyz@alibaba-inc.com>
2026-01-22 10:17:12 +08:00
Tianren Zhang 0451a76747
[Doc] Fix typo in the tutorial (#1247) 2025-12-21 20:51:22 +08:00
Jianxin df201882b2
[Doc] Merge doc to docs (#1153)
* merge doc/en/ to docs/

* move chinese documents to an archive directory
2025-12-15 12:08:49 +08:00
R0CKSTAR d116df6c4e
[MUSA] Enable USE_MNNVL (#1176)
* [MUSA] Enable USE_MNNVL

Signed-off-by: Xiaodong Ye <xiaodong.ye@mthreads.com>

* Correct clang format

Signed-off-by: Xiaodong Ye <xiaodong.ye@mthreads.com>

* Address comments

Signed-off-by: Xiaodong Ye <xiaodong.ye@mthreads.com>

* ci: add build-musa

Signed-off-by: Xiaodong Ye <xiaodong.ye@mthreads.com>

---------

Signed-off-by: Xiaodong Ye <xiaodong.ye@mthreads.com>
2025-12-08 15:28:48 +08:00
Anatolii Rozanov 1373d5875f
[TE] Improve AMD HIP support with hipify-perl (#1154)
* Improve AMD HIP support with hipify-perl

This commit improves AMD GPU support by migrating to hipify-perl
for automatic CUDA-to-HIP code conversion at build time, and extends HIP
compatibility to the NVLink transport layer.

* [TE] Add HIP support to nvlink-allocator with hipcc compilation

* Add USE_HIP to the documentation

* [TE/NVLINK] Check CU_DEVICE_ATTRIBUTE_HANDLE_TYPE_FABRIC_SUPPORTED only if USE_CUDA

* [TE/EXAMPLE] Fix compiler error if USE_MNNVL and USE_HIP

* Address review  comments
2025-12-05 21:01:42 +08:00
JinYan Su 223d74933b
ci: add non-CUDA release workflow and update documentation (#969)
* ci: add non-CUDA release workflow and update documentation

- Add release-non-cuda.yaml workflow for building non-CUDA version
- Modify build_wheel.sh to support dynamic package name modification
- Update README.md and docs with installation instructions for both versions
- CUDA version includes Mooncake-EP and GPU topology detection
- Non-CUDA version for environments without CUDA dependencies

* Update README.md

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>
2025-10-27 13:41:54 +08:00
ykwd b57c3d2781
[Doc] Add Clarification for STORE_USE_ETCD Compile Option (#927) 2025-10-14 19:29:44 +08:00
JinYan Su e11d9fc80e
docs(store): Restructure and Simplify SGLang HiCache Integration Guide (#897) 2025-09-29 19:25:02 +08:00
Ruoyu Qin dedfbde5da
[Doc] Update docs for a better quick start (#814)
* add transfer engine python api

* add quick start

* add lmcache v1 integration

* update trace

* fix

* modify segment size
2025-09-06 11:16:42 +08:00
ykwd 41d376b5ef
[Doc] Update Mooncake Store Docs (#612) 2025-07-11 17:13:28 +08:00
Shangming Cai f0cb5618c9
[Build] Deprecate stale adaptor usage to reduce whl package size (#529)
Signed-off-by: Shangming Cai <caishangming@linux.alibaba.com>
2025-06-20 14:19:41 +08:00
Letian Ruan ee64b6a25b
[DOC] feat(docs): build documentation website for Mooncake using Sphinx (#354)
* feat: init mooncake docs websire

* feat: add CI to deploy web for docs

* chore: wrong picture rendering

* docs: update mooncake news

* fix: modify website url
2025-05-12 23:33:18 +08:00