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