This release is a pre-release and may not be stable for production use.
sgl-deep-ep
sgl-deep-ep is SGLang's binary distribution of
DeepEP. The distribution name is
sgl-deep-ep, while the Python import remains compatible with DeepEP:
import deep_ep
Installation
The PyPI package targets CUDA 13 and installs with:
pip install sgl-deep-ep
Each wheel is specific to a CPython version, CPU architecture, and CUDA major.
The package checks these constraints when deep_ep is imported.
Host prerequisites
The wheel contains DeepEP's Python code and CUDA extension. It does not and cannot provision the host kernel or RDMA stack. Every host must provide:
- a compatible NVIDIA driver and CUDA runtime;
- the RDMA/NVLink environment required by the selected DeepEP transport.
At import time, the package checks the supported platform, PyTorch and CUDA
versions, and CUDA driver/device availability. Failures raise an actionable
ImportError. Transport-specific prerequisites are validated when DeepEP
initializes the selected transport.
CUDA 13 wheels use DeepEP v2 and its NCCL Gin transport. Release and runtime
images pin nvidia-nccl-cu13==2.30.7. NVSHMEM remains a build and runtime
dependency because the current v2 extension still links the legacy DeepEP methods.
Wheel release workflow
Wheels are built and published by SGLang's
Release sgl-deep-ep workflow.
Implementation and packaging are maintained together on sgl-deepep.
Before starting a release, merge both kinds of changes into that branch:
- CUDA 13, x86_64 and aarch64:
sgl-deepep(DeepEP v2)
Run the workflow manually with:
version: the public package version, without a leadingv;deepep-ref: the branch, tag, or commit containing both the implementation andsgl_deep_ep/(normallysgl-deepep; use a commit for a reproducible release).
For each selected CUDA target, the workflow uploads CUDA-tagged wheels to the cu130 index in
sgl-project/whl. CUDA 13.0 wheels are also
published to PyPI as sgl-deep-ep, without a CUDA suffix in the package name.
Publishing requires the GH_PAT_FOR_WHL_RELEASE and
SGL_DEEP_EP_PYPI_TOKEN repository secrets.
After the workflow completes, check that every expected Python and architecture
artifact was published, install the appropriate wheel in a clean environment,
and verify both import deep_ep and a multi-GPU DeepEP or SGLang workload.
Building from a checkout
Initialize the submodules and install the build dependencies, including the
target CUDA PyTorch build, NCCL 2.30.7, NVSHMEM, ninja, setuptools, and wheel.
The release container in SGLang's docker/sgl-deep-ep.Dockerfile provides these
dependencies for manylinux builds. Then run:
git clone --recursive --branch sgl-deepep https://github.com/sgl-project/DeepEP.git
cd DeepEP
SGL_DEEP_EP_VERSION=0.1.3 bash sgl_deep_ep/build_sgl_deep_ep.sh dist 13.0 x86_64
The arguments are the output directory, CUDA version (13.0 or 13.4), and
CPU architecture (x86_64 or aarch64). Use the CUDA version and
architecture of the build environment. The script reads implementation and
packaging from its own checkout, stages a temporary copy, and leaves the source
unchanged. SGL_DEEP_EP_VERSION overrides sgl_deep_ep/VERSION; the wheel
version includes the corresponding +cu130 or +cu134 suffix.
PYTHON_BIN selects the build interpreter and MAX_JOBS controls parallelism.
This produces a native Linux wheel. The SGLang release build script applies
auditwheel repair for manylinux and creates the public-version PyPI wheel.
The CUDA 13.4 image also uses this entry point; the release workflow currently
publishes CUDA 13.0 wheels only.
Metadata
Release files for sgl-deep-ep 0.1.3rc3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| sgl_deep_ep-0.1.3rc3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 | Details |
| sgl_deep_ep-0.1.3rc3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl | CPython 3.13 | CPython 3.13 | Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 | Details |
| sgl_deep_ep-0.1.3rc3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| sgl_deep_ep-0.1.3rc3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 | Details |
| sgl_deep_ep-0.1.3rc3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 | Details |
| sgl_deep_ep-0.1.3rc3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl | CPython 3.11 | CPython 3.11 | Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 | Details |
Total release size: 100.1 MB
Release files / sgl_deep_ep-0.1.3rc3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sgl_deep_ep-0.1.3rc3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 16.8 MB |
| Tags | CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c09f47c0b6f24d9141a08898931de012cf5cac948d00c0999a9d8190fdcc74a9
|
|
BLAKE2b-256 checksum How to use checksums |
64c6454b943e7c27afe8a8f71650e4c4018cad5ff87951fd78c0b6e77dcccdb3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / sgl_deep_ep-0.1.3rc3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | sgl_deep_ep-0.1.3rc3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 16.6 MB |
| Tags | CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
7d4e1081a6b5ed78e3960d07c48f774c88736ef125cd9c4f431c830a22fa6000
|
|
BLAKE2b-256 checksum How to use checksums |
9ccaccfa5fd6c860f29f3b9af5222836b35dd3b77532b70c2bb24f5a406a3521
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / sgl_deep_ep-0.1.3rc3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sgl_deep_ep-0.1.3rc3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 16.8 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d5ea1960a220a8e526acb1eee9b20188bc47368971783210a6cbc758b7fc4fdb
|
|
BLAKE2b-256 checksum How to use checksums |
0eafffe22ae6ec6c1925ad6bcf35f24c568929d8a805cef2947e232a32fa0bf1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / sgl_deep_ep-0.1.3rc3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | sgl_deep_ep-0.1.3rc3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 16.6 MB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
14099de689721d913d2d647c01a052baa41279f98708a3a26b23f058d88e2af6
|
|
BLAKE2b-256 checksum How to use checksums |
fdb79b1063c667a146eb2c80913ba1e7b21e1bc92ead0b1ed2efe6b43983e26f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / sgl_deep_ep-0.1.3rc3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sgl_deep_ep-0.1.3rc3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 16.8 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
7470a95e87ef7697e0651e1dbee25e9065661be7de86ebb1d84bd0cf55daf827
|
|
BLAKE2b-256 checksum How to use checksums |
5769b4dd29f5d6080f6843bf74b369577e550674ed2c3eb5e4b6b5882a436e07
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / sgl_deep_ep-0.1.3rc3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | sgl_deep_ep-0.1.3rc3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 16.6 MB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
4c5fae7243d01727a194f976a13e3e6db5b2fd8deec30a080eb85ac6ae82031c
|
|
BLAKE2b-256 checksum How to use checksums |
fd1c4e2992b92be4ae6b618907439b569369b02c7f84eec60d62169b83152695
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|