|
@@ -0,0 +1,107 @@
|
|
|
|
|
+# SparkRing shared image (ghcr.io/fujitsupolycom/sparkring, digest-pinned)
|
|
|
|
|
+# — the sparkring TP2 profile `glm53-flash-spark-tp2-mtp3` from
|
|
|
|
|
+# runtime/profiles/glm53-flash-spark-tp2 (profile.json), adapted to sm121:
|
|
|
|
|
+# structural flags (--tp/--pp/--nnodes/--node-rank/--master-addr/--master-port/
|
|
|
|
|
+# --host/--port) come from the launcher; everything else is the profile's.
|
|
|
|
|
+# Model: local-inference-lab/GLM-5.3-Flash-NVFP4-Spark @ df116c4f (already in
|
|
|
|
|
+# the shared HF cache; mounted at /models/target as the profile expects).
|
|
|
|
|
+# Transport: the image ships the RoCEnante TP2 transport bundle; our DAC pair
|
|
|
|
|
+# is on the f1 HCA pair (rocep1s0f1, roceP2p1s0f1), which the launcher
|
|
|
|
|
+# injects via NCCL_IB_HCA from the 2nodes-dac [nccl] block.
|
|
|
|
|
+
|
|
|
|
|
+engine = "vllm"
|
|
|
|
|
+name = "GLM-5.3-Flash NVFP4-Spark (SparkRing shared img, TP2 RoCEnante profile)"
|
|
|
|
|
+docker_image = "ghcr.io/fujitsupolycom/sparkring@sha256:f25cdb6bf7df85754ea5c62445b139dac3143bc6e910a0442d681b6e63c31c4b"
|
|
|
|
|
+model = "/models/target"
|
|
|
|
|
+port = 8000
|
|
|
|
|
+required_nodes = 2
|
|
|
|
|
+tensor_parallel_size = 2
|
|
|
|
|
+pipeline_parallel_size = 1
|
|
|
|
|
+distributed_backend = "mp"
|
|
|
|
|
+
|
|
|
|
|
+args = [
|
|
|
|
|
+ "--decode-context-parallel-size", "1",
|
|
|
|
|
+ "--mamba-cache-mode", "align",
|
|
|
|
|
+ "--enable-prefix-caching",
|
|
|
|
|
+ "--enable-chunked-prefill",
|
|
|
|
|
+ "--dtype", "bfloat16",
|
|
|
|
|
+ "--attention-backend", "B12X",
|
|
|
|
|
+ "--moe-backend", "b12x",
|
|
|
|
|
+ "--no-enable-flashinfer-autotune",
|
|
|
|
|
+ "--reasoning-parser", "glm45",
|
|
|
|
|
+ "--tool-call-parser", "glm47",
|
|
|
|
|
+ "--enable-auto-tool-choice",
|
|
|
|
|
+ "--served-model-name", "GLM-5.3-Flash-NVFP4-Spark",
|
|
|
|
|
+ "--max-model-len", "262144",
|
|
|
|
|
+ "--max-num-seqs", "8",
|
|
|
|
|
+ "--max-num-batched-tokens", "8192",
|
|
|
|
|
+ "--prefill-schedule-interval", "8",
|
|
|
|
|
+ "--prefix-cache-retention-interval", "0",
|
|
|
|
|
+ "--recurrent-checkpoint-policy", "aligned",
|
|
|
|
|
+ "--block-size", "256",
|
|
|
|
|
+ "--kv-cache-memory-bytes", "9395240960",
|
|
|
|
|
+ "--kv-cache-dtype", "fp8",
|
|
|
|
|
+ "--mm-processor-cache-gb", "0",
|
|
|
|
|
+ "--mm-encoder-tp-mode", "data",
|
|
|
|
|
+ "--linear-backend", "b12x",
|
|
|
|
|
+ "--quantization", "modelopt_mixed",
|
|
|
|
|
+ "--kda-prefill-backend", "b12x",
|
|
|
|
|
+ "--gdn-decode-kernel", "b12x",
|
|
|
|
|
+ "--generation-config", "auto",
|
|
|
|
|
+ "--load-format", "b12x",
|
|
|
|
|
+ "--model-loader-extra-config", "{\"allocation\":\"managed\"}",
|
|
|
|
|
+ "--gpu-memory-utilization", "0.87",
|
|
|
|
|
+ "--speculative-config", "{\"method\": \"mtp\", \"num_speculative_tokens\": 3, \"moe_backend\": \"humming\", \"attention_backend\": \"B12X\"}",
|
|
|
|
|
+ "--compilation-config", "{\"mode\":0,\"cudagraph_mode\":\"FULL_AND_PIECEWISE\",\"cudagraph_capture_sizes\":[1,2,4,8,12,16,20,24,28,32],\"max_cudagraph_capture_size\":32}",
|
|
|
|
|
+ "--limit-mm-per-prompt", "{\"image\": 4, \"video\": 0}",
|
|
|
|
|
+]
|
|
|
|
|
+
|
|
|
|
|
+[[extra_mounts]]
|
|
|
|
|
+host = "/mnt/nas/ai/huggingface/hub/models--local-inference-lab--GLM-5.3-Flash-NVFP4-Spark/snapshots/df116c4fb16b1d37ae43d2cfd624de26ffbc832e"
|
|
|
|
|
+container = "/models/target"
|
|
|
|
|
+read_only = true
|
|
|
|
|
+
|
|
|
|
|
+[env]
|
|
|
|
|
+B12X_POLICY_MODE = "auto"
|
|
|
|
|
+CUDA_DEVICE_MAX_CONNECTIONS = "32"
|
|
|
|
|
+CUDA_DEVICE_ORDER = "PCI_BUS_ID"
|
|
|
|
|
+CUTE_DSL_ARCH = "sm_121a"
|
|
|
|
|
+FLASHINFER_CUDA_ARCH_LIST = "12.1f"
|
|
|
|
|
+FLASHINFER_DISABLE_VERSION_CHECK = "1"
|
|
|
|
|
+HF_HUB_OFFLINE = "1"
|
|
|
|
|
+NCCL_CUMEM_ENABLE = "0"
|
|
|
|
|
+NCCL_DEBUG = "WARN"
|
|
|
|
|
+NCCL_IB_EXTENDED_IPV4_GIDS = "1"
|
|
|
|
|
+NCCL_IB_GID_INDEX = "3"
|
|
|
|
|
+NCCL_IB_PRESERVE_PCI_DOMAIN = "1"
|
|
|
|
|
+NCCL_IB_ROUTE_DIAGNOSTICS = "1"
|
|
|
|
|
+NCCL_IB_SUBNET_AWARE_ROUTING = "0"
|
|
|
|
|
+NCCL_LOCAL_INFERENCE_PATH = "/opt/sparkring/nccl-pci/libnccl.so.2.30.7"
|
|
|
|
|
+NCCL_NET = "IB"
|
|
|
|
|
+NCCL_NET_PLUGIN = "none"
|
|
|
|
|
+NCCL_P2P_LEVEL = "SYS"
|
|
|
|
|
+NCCL_PROTO = "LL,LL128,Simple"
|
|
|
|
|
+OMP_NUM_THREADS = "2"
|
|
|
|
|
+PYTORCH_CUDA_ALLOC_CONF = "expandable_segments:True"
|
|
|
|
|
+TORCH_USE_RTLD_GLOBAL = "1"
|
|
|
|
|
+TRANSFORMERS_OFFLINE = "1"
|
|
|
|
|
+VLLM_B12X_KDA_PREFILL_COALESCING = "1"
|
|
|
|
|
+VLLM_B12X_MOE_FP4_FORCE_A16 = "0"
|
|
|
|
|
+VLLM_ENABLE_PCIE_ALLREDUCE = "0"
|
|
|
|
|
+VLLM_GDN_SPEC_DECODE_METADATA_FASTPATH = "1"
|
|
|
|
|
+VLLM_GLM53_KDA_GATE_SIDE_STREAM = "0"
|
|
|
|
|
+VLLM_GLM53_MHC_PREFILL_SHARD = "1"
|
|
|
|
|
+VLLM_GLM53_SPLIT_MAMBA_BLOCK_SIZE = "256"
|
|
|
|
|
+VLLM_GLM53_SPLIT_TARGET_BLOCK_SIZE = "2048"
|
|
|
|
|
+VLLM_LM_HEAD_A16 = "1"
|
|
|
|
|
+VLLM_MEMORY_PROFILE_INCLUDE_ATTN = "1"
|
|
|
|
|
+VLLM_MEMORY_PROFILER_ESTIMATE_CUDAGRAPHS = "1"
|
|
|
|
|
+VLLM_MTP_NVFP4_LM_HEAD = "1"
|
|
|
|
|
+VLLM_MXFP8_LM_HEAD = "1"
|
|
|
|
|
+VLLM_NO_USAGE_STATS = "1"
|
|
|
|
|
+VLLM_NCCL_SO_PATH = "/opt/sparkring/nccl-pci/libnccl.so.2.30.7"
|
|
|
|
|
+VLLM_PLUGINS = "b12x_loader"
|
|
|
|
|
+VLLM_WORKER_MULTIPROC_METHOD = "spawn"
|
|
|
|
|
+VLLM_DISABLED_KERNELS = "MarlinFP8ScaledMMLinearKernel"
|
|
|
|
|
+PYTHONDONTWRITEBYTECODE = "1"
|
|
|
|
|
+LD_PRELOAD = "/opt/sparkring/nccl-pci/libnccl.so.2.30.7"
|