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 分支)、以及支援高效率載入格式如
fastsafetensors和InstantTensor的專用元件。
適用對象
專為使用 NVIDIA DGX Spark 系統並希望以 vLLM 部署大型語言模型的 AI 工程師與研究人員設計,可大幅減少分散式網路與 GPU 核心的手動設定。
主要特色
- 多節點支援:原生支援 2 節點、3 節點網格及更大規模的 DGX Spark 叢集。
- 硬體特定調校:針對 sm12x 架構優化,支援 B12X 核心。
- 自動分發:使用高速互連工具在節點間同步 Docker 映像與模型權重。
- 彈性建置路徑:支援拉取預先建置的夜間映像、從 wheel 建置,或從特定原始碼提交/PR 編譯 vLLM。
- 記憶體管理:整合
earlyoom以監控主機記憶體,在高負載推論期間防止系統當機。
相關
- 專案
- Dispatch
- 專案
- 專案
- 專案