eugr/spark-vllm-docker

Docker configuration for running VLLM on dual DGX Sparks

解決的問題

本專案為在 NVIDIA DGX Spark 硬體上執行 vLLM 提供了特別優化之 Docker 環境與編排指令碼。它簡化了單節點或多節點叢集設定的複雜流程,處理 InfiniBand/RDMA/NCCL 等網路需求,以及在此特定硬體架構上實現高效率 LLM 推論所需的相依性管理。

如何運作

此程式碼庫提供一組指令碼,自動化 vLLM 部署的生命周期:

  • 映像管理build-and-copy.sh 建立 Docker 映像(或拉取預先建置的夜間版本),並在叢集內分發,以確保一致性。
  • 叢集編排launch-cluster.sh 管理跨多節點的容器啟動,自動配置分散式後端(Ray 或原生 PyTorch),並處理各節點的多行程參數。
  • 模型分發hf-download.sh 從 Hugging Face 下載模型,並透過 ConnectX 互連將模型分發至叢集,避免重複的網路下載。
  • 效能優化:整合 FlashInfer、DeepGEMM(NVIDIA 的 sm12x 分支)、以及支援高效率載入格式如 fastsafetensorsInstantTensor 的專用元件。

適用對象

專為使用 NVIDIA DGX Spark 系統並希望以 vLLM 部署大型語言模型的 AI 工程師與研究人員設計,可大幅減少分散式網路與 GPU 核心的手動設定。

主要特色

  • 多節點支援:原生支援 2 節點、3 節點網格及更大規模的 DGX Spark 叢集。
  • 硬體特定調校:針對 sm12x 架構優化,支援 B12X 核心。
  • 自動分發:使用高速互連工具在節點間同步 Docker 映像與模型權重。
  • 彈性建置路徑:支援拉取預先建置的夜間映像、從 wheel 建置,或從特定原始碼提交/PR 編譯 vLLM。
  • 記憶體管理:整合 earlyoom 以監控主機記憶體,在高負載推論期間防止系統當機。

相關

  • 專案
  • Dispatch
  • 專案
  • 專案
  • 專案