[PR #771] Add official PyTorch-based Dockerfile for DeepEP #772

Open
opened 2026-10-27 21:06:13 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/deepseek-ai/DeepEP/pull/771
Author: @YidaWeng
Created: 10/1/2026
Status: 🔄 Open

Base: main ← Head: docs/official-dockerfile-615


📝 Commits (1)

  • 67adcf0 Add official PyTorch-based Dockerfile for DeepEP

📊 Changes

4 files changed (+150 additions, -0 deletions)

View changed files

➕ .dockerignore (+23 -0)
📝 README.md (+12 -0)
➕ docker/Dockerfile (+51 -0)
➕ docker/README.md (+64 -0)

📄 Description

Summary

Addresses #615: add a minimal official Dockerfile based on the PyTorch CUDA devel image, plus short usage docs.

What

  • docker/Dockerfile — pytorch/pytorch:2.14.1-cuda13.2-cudnn9-devel, install nvidia-nccl-cu13>=2.32.3 --no-deps, build DeepEP with install.sh
  • docker/README.md — build/run instructions and limits
  • .dockerignore — keep the context small; exclude .git so setup.py's dirty-tree assert cannot fail in the image build
  • README — short Docker pointer under Installation

Why devel (not runtime)

DeepEP compiles kernels at runtime via DeepJIT, which needs nvcc from a CUDA 13.1+ toolkit. A runtime-only base would build the host extension and then fail JIT at import/first use.

Testing

On this contributor machine (macOS, no NVIDIA GPU / Docker daemon unavailable for a full CUDA build):

  • content checks for the Dockerfile and .dockerignore
  • could not run docker build against an NVIDIA host

Please run on a Linux NVIDIA box:

git submodule update --init --recursive
docker build --platform=linux/amd64 -f docker/Dockerfile -t deepep:local .
docker run --rm --gpus all --ipc=host deepep:local \
  python -c "import deep_ep, torch; print(deep_ep.__version__, torch.cuda.is_available())"

Notes

  • Build context must already contain third-party/deep_jit (submodule init).
  • RDMA / multi-node device mounts are intentionally out of scope; documented in docker/README.md.
  • Installed version suffix is typically +local because .git is dockerignored.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/deepseek-ai/DeepEP/pull/771 **Author:** [@YidaWeng](https://github.com/YidaWeng) **Created:** 10/1/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `docs/official-dockerfile-615` --- ### 📝 Commits (1) - [`67adcf0`](https://github.com/deepseek-ai/DeepEP/commit/67adcf08396430c933f3590d018d570de18cff5e) Add official PyTorch-based Dockerfile for DeepEP ### 📊 Changes **4 files changed** (+150 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `.dockerignore` (+23 -0) 📝 `README.md` (+12 -0) ➕ `docker/Dockerfile` (+51 -0) ➕ `docker/README.md` (+64 -0) </details> ### 📄 Description ## Summary Addresses #615: add a minimal official Dockerfile based on the PyTorch CUDA **devel** image, plus short usage docs. ## What - `docker/Dockerfile` — `pytorch/pytorch:2.14.1-cuda13.2-cudnn9-devel`, install `nvidia-nccl-cu13>=2.32.3 --no-deps`, build DeepEP with `install.sh` - `docker/README.md` — build/run instructions and limits - `.dockerignore` — keep the context small; exclude `.git` so `setup.py`'s dirty-tree assert cannot fail in the image build - README — short Docker pointer under Installation ## Why devel (not runtime) DeepEP compiles kernels at runtime via DeepJIT, which needs `nvcc` from a CUDA 13.1+ toolkit. A runtime-only base would build the host extension and then fail JIT at import/first use. ## Testing On this contributor machine (macOS, no NVIDIA GPU / Docker daemon unavailable for a full CUDA build): - content checks for the Dockerfile and `.dockerignore` - could not run `docker build` against an NVIDIA host Please run on a Linux NVIDIA box: ```bash git submodule update --init --recursive docker build --platform=linux/amd64 -f docker/Dockerfile -t deepep:local . docker run --rm --gpus all --ipc=host deepep:local \ python -c "import deep_ep, torch; print(deep_ep.__version__, torch.cuda.is_available())" ``` ## Notes - Build context must already contain `third-party/deep_jit` (submodule init). - RDMA / multi-node device mounts are intentionally out of scope; documented in `docker/README.md`. - Installed version suffix is typically `+local` because `.git` is dockerignored. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/DeepEP#772
No description provided.