Mooncake/mooncake-common
skygragon 84a823b9eb
[Build] Add memory-aware compile/link parallelism with Ninja support (#1909)
Cherry-picked from main branch commit 79266ffb4d.
Due to significant branch divergence, not all changes were cherry-picked:
- CI workflow files (ci.yml, ci_cu13.yml) were manually adapted
- Dockerfile and ci_ascend.yml were skipped (not present in this branch)

- Add limit_jobs.cmake module for memory-aware build parallelism
- Auto-detect available memory and CPU cores to calculate safe job limits
- With Ninja, create separate job pools for compilation (~1.5GB/job) and linking (~4GB/job)
- Switch CI workflows to use Ninja generator
- Add ninja-build to dependencies.sh

This helps prevent OOM during linking on high-core machines.

Co-authored-by: wl177541 <wl177541@antgroup.com>
Co-authored-by: Claude (antchat/GLM-5) <noreply@anthropic.com>
2026-04-17 10:52:14 +08:00
..
etcd [TE] Add multi-endpoint etcd support for Transfer Engine metadata plugin (#729) 2025-08-09 10:35:25 +08:00
include [yalantinglibs]set ylt log level with env (#1190) 2025-12-11 17:22:11 +08:00
src Te seperated compilation (#1041) 2025-11-11 09:54:21 +08:00
tests [CI/Build] Mooncake-common/common.cmake: Add link flag of pthread (#681) 2025-07-28 20:10:58 +08:00
CMakeLists.txt mooncake-common: support yaml and json format config (#582) 2025-07-21 14:11:34 +08:00
FindGLOG.cmake [cmake]fix cmake for centos (#573) 2025-07-01 14:18:33 +08:00
FindJsonCpp.cmake [cmake]fix cmake for centos (#573) 2025-07-01 14:18:33 +08:00
FindMpi.cmake [TransferEngine][Ascend] Fix build issues & adapt to latest Mooncake changes (#684) 2025-07-30 20:40:48 +08:00
common.cmake [Build] Add memory-aware compile/link parallelism with Ninja support (#1909) 2026-04-17 10:52:14 +08:00
limit_jobs.cmake [Build] Add memory-aware compile/link parallelism with Ninja support (#1909) 2026-04-17 10:52:14 +08:00