Mooncake

View as Markdown

Overview

The Mooncake backend uses the Mooncake Transfer Engine for VRAM and DRAM transfers in Mooncake-enabled deployments. Use it in environments running the Mooncake distributed infrastructure.

PropertyValue
Transfer TypeVRAM ↔ VRAM; VRAM ↔ DRAM; DRAM ↔ DRAM
ProtocolMooncake Transfer Engine
Best ForMooncake distributed infrastructure deployments

Installation

The Mooncake backend requires the Mooncake Transfer Engine shared library to be installed before building NIXL.

Build from Source

git clone https://github.com/kvcache-ai/Mooncake.git
cd Mooncake
bash dependencies.sh
mkdir build
cd build
cmake .. -DBUILD_SHARED_LIBS=ON
make -j
sudo make install

You must build with -DBUILD_SHARED_LIBS=ON to produce the shared library required by the NIXL Mooncake backend.

For the latest installation instructions, see the Mooncake repository.

See Configuration for build options.

Configuration

Environment Variables

VariableTypeDefaultDescription
NIXL_MOONCAKE_IP_ADDRString (IP)First non-loopback interface IPOverride IP address for the Mooncake transport engine. Set this when auto-detection selects the wrong network interface.

Build Options

OptionDefaultDescription
disable_mooncake_backendfalseDisable Mooncake backend.

When to Use

  • Deployments running the Mooncake distributed infrastructure
  • Workloads where the Mooncake Transfer Engine is the preferred transport over UCX