MetaX MACA
Use the MetaX MACA backend when running xLLM on MetaX MACA hardware.
Image and Container Startup
Section titled “Image and Container Startup”Pull the MetaX MACA development image:
docker pull pub-registry1.metax-tech.com/dev-m01421/xllm-maca3.7.1.9:v1Start the container:
docker run -it \--ipc=host \-u 0 \--name xllm-maca \--network=host \--privileged=true \--shm-size 100gb \--device=/dev/mxcd \--device=/dev/dri \--device=/dev/infiniband \--security-opt seccomp=unconfined \--security-opt apparmor=unconfined \--group-add video \--ulimit memlock=-1 \-v /opt/maca:/opt/maca \-v $HOME:$HOME \-w $HOME \<docker_image_name> \/bin/bashServer Startup Command
Section titled “Server Startup Command”#!/bin/bashset -e
rm -rf core.*
export CUDA_VISIBLE_DEVICES=0export FLASHINFER_OPS_PATH=/opt/conda/lib/python3.10/site-packages/flashinfer/data/aot/
MODEL_PATH="/path/to/model/Qwen3-8B"MASTER_NODE_ADDR="127.0.0.1:9748"START_PORT=18000START_DEVICE=0LOG_DIR="log"NNODES=1
mkdir -p $LOG_DIR
for (( i=0; i<$NNODES; i++ ))do PORT=$((START_PORT + i)) DEVICE=$((START_DEVICE + i)) LOG_FILE="$LOG_DIR/node_$i.log" xllm \ --model $MODEL_PATH \ --devices="cuda:$DEVICE" \ --port $PORT \ --nnodes=$NNODES \ --master_node_addr=$MASTER_NODE_ADDR \ --block_size=128 \ --max_memory_utilization=0.86 \ --enable_prefix_cache=false \ --enable_chunked_prefill=false \ --enable_schedule_overlap=true \ --node_rank=$i \ > $LOG_FILE 2>&1 &doneFor a single-device run, <device-id> usually starts from 0. For multi-worker deployments, keep device ids, --node_rank, --nnodes, and service ports aligned.
- The current docs list a pre-built MetaX MACA development image in Quick Start.
- The MetaX MACA container startup command requires device mounts such as
/dev/mxcd,/dev/dri, and/dev/infiniband; the command above includes these mounts. - Build xllm with MetaX MACA: python setup.py build —device maca