Soulmate-Halo/heterogeneous-gpu-pd-lab
使用稠密算力卡对稀疏大显存主机进行加速,主机包括 AI Max+ 395、M3 512G、DGX Spark 等。
Soulmate‑Halo / heterogeneous‑gpu‑pd‑lab – Dense Acceleration Lab
What it is
- A research/benchmarking codebase that explores heterogeneous GPU pipelines for large‑language‑model (LLM) inference. It shows how to split the Prefill (encoding of long prompts) onto a pair of RTX 6000D GPUs (TP2) while the Decode (generation) runs on a larger‑memory back‑stage of four DGX Spark nodes (TP4). The project calls this two‑stage “PP2” architecture and measures token‑throughput under real‑world workloads.
Key ideas & components
- PP2 pipeline – front‑stage (Prefill) on two RTX 6000D GPUs, back‑stage (Decode) on four Sparks. The front stage only needs the encoder part of a causal encoder‑decoder model, so the heavy‑weight decoder weights stay on the back stage.
- Tensor‑parallelism (TP) – TP2 for the front stage, TP4 for the back stage, coordinated via the NIXL cache‑page hand‑off.
- Frameworks – front stage runs vLLM (TP2), back stage runs SGLang (TP4/EP4). The system also uses flashinfer_cutlass, DSpark 5, and CUDA‑graph decode batches up to 32.
- Metrics – reports P‑stage batch Prefill throughput (tokens / second) and active‑Decode / end‑to‑end throughput for various concurrency levels (C16‑C32) and input lengths (8 K‑32 K tokens).
- Reproducible data – CSV tables, JSON telemetry, and markdown reports are stored in the repo’s
data/andresults/folders.
Why it matters
- Demonstrates that a modest pair of high‑end GPUs can handle the encoder side of a 8 B‑parameter model, freeing larger‑memory GPUs to focus on generation. This reduces the need for every GPU to hold the full model, cutting hardware cost for long‑context inference.
- Provides concrete throughput numbers (e.g., 16 300 tok/s Prefill and 442 tok/s aggregate Decode on a six‑GPU system) that can be used as baselines for anyone building heterogeneous LLM serving stacks.
- Shares a cost breakdown (≈ US $38 k for the six‑GPU setup) and compares it with all‑Spark or all‑H20 configurations, helping practitioners evaluate trade‑offs.
Typical use‑case
- Organizations that need to serve very long prompts (up to 32 K tokens) with low latency but cannot afford a full‑model replica on every GPU. By pairing a small‑VRAM, high‑throughput card (RTX 6000D) with a large‑memory server (DGX Spark), they can achieve high Prefill rates while keeping generation quality.
Maturity
- The repository contains detailed benchmark reports up to V8 (seq‑32), with historical data from V1‑V7. It is a research/engineering artifact rather than a polished library; deployment scripts, patches, and the exact layer‑allocation policy are kept private. Nonetheless, the code and data are sufficient to reproduce the reported numbers on similar hardware.
Getting started (high‑level)
- Hardware – two RTX 6000D GPUs + four DGX Spark nodes (or equivalent with comparable memory/compute). Ensure NVLink/NVSwitch connectivity for the back‑stage cluster.
- Software stack – install vLLM (for the front stage) and SGLang (for the back stage). Enable
flashinfer_cutlassand setDSpark=5. - Configuration – follow the V8 settings described in the README:
- Front‑stage TP2, back‑stage TP4/EP4
- Decode CUDA‑graph
max_bs=32 - Chunk size
2048, tail‑replay256 - Use the provided model YAML for DeepSeek‑V4.1‑Flash (or other CED models).
- Run – launch the front‑stage service, then the back‑stage service, and submit batch requests (e.g., 32 K‑token prompts, 1024‑token budget). Use the CSV/JSON files in
data/as reference for expected telemetry. - Validate – check that all requests succeed (the repo reports 216/216 success for the V8 run) and compare your throughput against the tables in the README.
Where to look for more info
results/– markdown deep‑dives for each model/hardware combo.data/– raw CSV and JSON evidence files.- The linked external docs: model description on HuggingFace, vLLM recipe YAML, and the SGLang repository.
Bottom line
heterogeneous-gpu-pd-lab is a concrete, performance‑focused project that shows how to split LLM inference across GPUs with different memory/compute characteristics, delivering record Prefill speeds for long‑context models while keeping generation costs manageable.
Related
- Project
- Project
- Project
- Project