| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- # Aiden's published production-1.1 DCP2 stack (prebuilt image, no build).
- #
- # Image: aidendle94/sparkrun-vllm-dsv41-gb10:production-1.1 (Docker Hub, 23.4 GB,
- # published 2026-09-11T16:54Z). Internals (verified):
- # vllm 0.28.1rc1.dev388+g8a728663c (base vllm/vllm-openai nightly 8a728663,
- # NOT our e47aa780 pin) + b12x 1.3.0 + FlashInfer 0.7.0rc1 + torch 2.13.0+cu130.
- # The 24-file DCP2 patch set is baked into the tree (manifest at
- # /opt/dsv41-dcp2-mounts.txt) + FI source with trtllm_dcp_alltoall.cu /
- # cake_dcp.py. DCP knobs are env-gated, OFF by default in-image:
- # DSV41_DCP_STAGE=3 (default), DSV41_DCP_COMBINE=ag_rs, DSV41_DCP_PREFILL_GATHER=0,
- # DSV41_ENGRAM_MMAP=0, DSV41_ENGRAM_PREFETCH=0.
- #
- # This recipe = their DCP2 core (TP4 + --decode-context-parallel-size 2 +
- # --dcp-comm-backend a2a + 8 GiB pinned KV, their measured 300K-ctx row) on our
- # serving config (DSpark k=5 exact capture, max-num-seqs 8, thinking+max
- # default, deepseek-v4-flash alias) so the A/B isolates the DCP2 delta.
- #
- # A/B baseline: dsv41-flash-4x-b12x (167/176 @ 512K ctx, DSV41_ENGRAM_LOCAL on
- # our clone-at-pin stack). Context differs on purpose: their top-k/indexer
- # validation row is 300K.
- #
- # Engram: our per-node local copies (47.2 GiB each, /var/tmp/engram-local) —
- # the engine reads its rank's row ranges from there, no NFS at runtime.
- #
- # Prebuilt: no docker_image_dir — the image is pulled manually to the nodes
- # (sm121 does not pull external images).
- engine = "vllm"
- name = "DeepSeek-V4.1-Flash MXFP4 (Aiden production-1.1 img, 4x, DCP2)"
- docker_image = "aidendle94/sparkrun-vllm-dsv41-gb10:production-1.1"
- model = "deepseek-ai/DeepSeek-V4.1-Flash"
- port = 30000
- required_nodes = 4
- tensor_parallel_size = 4
- pipeline_parallel_size = 1
- distributed_backend = "mp"
- shm_size = "32gb"
- args = [
- "--served-model-name", "deepseek-v4-flash",
- "--trust-remote-code",
- "--distributed-executor-backend", "mp",
- "--gpu-memory-utilization", "0.85",
- # Aiden's validated row: 300K ctx (their top-k fix is validated <=300K)
- "--max-model-len", "300000",
- "--max-num-seqs", "8",
- "--max-num-batched-tokens", "8192",
- "--block-size", "128",
- # Our exact capture sizes for DSpark k=5, SEQS=8 (no padding batches)
- "--compilation-config", """
- '{"cudagraph_mode":"FULL_AND_PIECEWISE","cudagraph_capture_sizes":[5,6,10,12,15,18,20,24,25,30,35,36,40,42,48]}'""",
- "--speculative-config", """
- '{"method":"dspark","num_speculative_tokens":5,"draft_sample_method":"probabilistic","rejection_sample_method":"block","enable_adaptive_verification":false}'""",
- "--moe-backend", "b12x",
- "--linear-backend", "b12x",
- "--kv-cache-dtype", "fp8",
- # Their DCP2 core: 2-way decode context parallelism over the a2a path
- "--decode-context-parallel-size", "2",
- "--dcp-comm-backend", "a2a",
- # Their pinned KV (8 GiB = 1.26M tokens at 300K, ~1.89M with DCP2)
- "--kv-cache-memory-bytes", "8589934592",
- "--tool-call-parser", "deepseek_v41",
- "--enable-auto-tool-choice",
- "--reasoning-parser", "deepseek_v41",
- "--default-chat-template-kwargs", """
- '{"thinking": true, "reasoning_effort": "max"}'""",
- ]
- [env]
- HF_HUB_OFFLINE = "1"
- # Engram tables on node-local sparse copies (disk mode, their launch defaults)
- DSV41_ENGRAM_DISK = "1"
- DSV41_ENGRAM_DISK_THREADS = "32"
- DSV41_ENGRAM_DISK_CHUNK = "16"
- DSV41_ENGRAM_LOCAL = "1"
- DSV41_ENGRAM_DIR = "/engram-local"
- # DCP2 activation (image defaults are off; Aiden's launcher enables these)
- DSV41_DCP_STAGE = "3"
- DSV41_DCP_COMBINE = "a2a"
- DSV41_DCP_PREFILL_GATHER = "1"
- DSV41_ENGRAM_MMAP = "1"
- DSV41_ENGRAM_PREFETCH = "1"
- # Runtime JIT wedge countermeasure + arch pins (same stack family)
- MAX_JOBS = "2"
- OMP_NUM_THREADS = "2"
- PYTORCH_CUDA_ALLOC_CONF = "expandable_segments:True"
- TORCH_CUDA_ARCH_LIST = "12.1a"
- FLASHINFER_CUDA_ARCH_LIST = "12.1a"
- VLLM_ENGINE_READY_TIMEOUT_S = "3600"
- # Per-node sparse Engram copy (model-00047/00048 shards + engram-local.json)
- [[extra_mounts]]
- host = "/var/tmp/engram-local/DeepSeek-V4.1-Flash"
- container = "/engram-local"
- read_only = true
- # JIT caches persist per node (fresh tree => first boot re-JITs, then cached)
- [[extra_mounts]]
- host = "~/sm121-cache/jit-121f/flashinfer"
- container = "/root/.cache/flashinfer"
- [[extra_mounts]]
- host = "~/sm121-cache/jit-121f/torchinductor"
- container = "/root/.cache/torchinductor"
- [[extra_mounts]]
- host = "~/sm121-cache/jit-121f/vllm"
- container = "/root/.cache/vllm"
- # B12X kernel JIT cache (B12X_CACHE_DIR)
- [[extra_mounts]]
- host = "~/sm121-cache/jit-121f/b12x"
- container = "/root/.cache/b12x"
|