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
  • 项目
  • 项目
  • 项目