Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions ci/buildspec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# AWS CodeBuild buildspec for megatron-deepep-v2-efa.
# Mirroring vllm-deepep-v2-efa pattern (Wave 5).
version: 0.2

env:
variables:
DOCKER_BUILDKIT: "1"
BASE_IMAGE_FAST: "ghcr.io/antonai-work/deepep-v2-efa-base:v0.2.5-sm90a"

phases:
install:
commands:
- echo "[install] Installing helpers"
- docker --version && aws --version

pre_build:
commands:
- echo "[pre_build] Starting $(date -u +%Y-%m-%dT%H:%M:%SZ)"
- test -n "${AWS_ACCOUNT_ID}" || (echo "ERROR: AWS_ACCOUNT_ID unset" && exit 2)
- test -n "${AWS_REGION}" || (echo "ERROR: AWS_REGION unset" && exit 2)
- test -n "${ECR_REPO}" || (echo "ERROR: ECR_REPO unset" && exit 2)
- ECR_REGISTRY="${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com"
- aws ecr get-login-password --region "${AWS_REGION}" | docker login --username AWS --password-stdin "${ECR_REGISTRY}"
- |
if [ -n "${GHCR_READ_TOKEN_SECRET_ARN:-}" ]; then
echo "[pre_build] Logging in to GHCR"
GHCR_TOKEN="$(aws secretsmanager get-secret-value --secret-id "${GHCR_READ_TOKEN_SECRET_ARN}" --query SecretString --output text)"
echo "${GHCR_TOKEN}" | docker login ghcr.io --username antonai-work --password-stdin
unset GHCR_TOKEN
fi
- GIT_SHA_SHORT="$(git rev-parse --short=12 HEAD)"
- test -f pins.env && . ./pins.env || true
- docker pull "${BASE_IMAGE_FAST}"

build:
commands:
- FAST_TAG_SHA="${ECR_REGISTRY}/${ECR_REPO}:fast-${GIT_SHA_SHORT}"
- FAST_TAG_LATEST="${ECR_REGISTRY}/${ECR_REPO}:fast-latest"
- echo "[build] Building ${FAST_TAG_SHA}"
- |
docker build -f docker/Dockerfile \
--build-arg BUILD_MODE=fast \
--build-arg BASE_IMAGE_FAST="${BASE_IMAGE_FAST}" \
-t "${FAST_TAG_SHA}" -t "${FAST_TAG_LATEST}" .

post_build:
commands:
- echo "[post_build] Starting $(date -u +%Y-%m-%dT%H:%M:%SZ)"
- |
if [ "${CODEBUILD_BUILD_SUCCEEDING:-0}" != "1" ]; then
echo "[post_build] Build failing; skipping push"
exit 0
fi
- docker push "${FAST_TAG_SHA}"
- docker push "${FAST_TAG_LATEST}"
- echo "[post_build] Done"
14 changes: 11 additions & 3 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,17 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# -----------------------------------------------------------------------------
ARG SGLANG_VERSION=0.5.6.post2

# TODO (Wave 29): install sglang + any SGLang-specific deep_ep adapter and
# re-pin torch/nccl/nvshmem to match the v0.2.5 base (see vllm-deepep-v2-efa
# Dockerfile for the reference pin-guard sequence).
# Minimal overlay for Wave 29 cross-node smoke. Full DeepEP V2 adapter
# (sgl-project/sglang#24443) + DeepGEMM JIT cache baking TBD.
RUN pip install --no-cache-dir --break-system-packages "sglang[all]==${SGLANG_VERSION}"

# Guard torch/nccl/nvshmem to match v0.2.5 base (cu13-unified stack).
# Any torch upgrade silently re-installs nvidia-nccl/nvshmem wheels.
ARG NVIDIA_NCCL_PIN=2.30.4
ARG NVSHMEM_PIN=2.11.2
RUN pip install --no-cache-dir --break-system-packages --no-deps --force-reinstall \
"nvidia-nccl-cu13==${NVIDIA_NCCL_PIN}" \
"nvidia-nvshmem-cu13==${NVSHMEM_PIN}"

ENV PYTHONPATH=/opt

Expand Down
27 changes: 7 additions & 20 deletions pins.env
Original file line number Diff line number Diff line change
@@ -1,20 +1,7 @@
# Canonical pins for sglang-deepep-v2-efa.
# Last updated: 2026-05-07 (scaffolded from Wave 28 cascade; Wave 29 pending).

BASE_IMAGE_FAST=ghcr.io/antonai-work/deepep-v2-efa-base:v0.2.5-sm90a

# DeepEP V2 (already baked into BASE_IMAGE_FAST; listed here for audit only)
DEEPEP_FORK=https://github.com/dmvevents/DeepEP-1.git
DEEPEP_BRANCH=aws-efa-auto-qp-cap-v2
DEEPEP_SHA=146cc356aa00c39ac1590c05775e05b0f031e70c

# SGLang target release (matches V1 sglang-deepep-working:v3 source line in
# awesome-inferencing). Bump after validating native ElasticBuffer (Wave 29).
SGLANG_VERSION=0.5.6.post2

# Upstream SGLang DeepEP V2 PR — re-validate on v0.2.5 in Wave 29.
SGLANG_UPSTREAM_PR=24443
SGLANG_UPSTREAM_HEAD_SHA=f66ab63b499b7671ee8d7052b2e54708a219ddb1

# Wave 13 cu13 cascade alignment (see parent base for rationale).
NVIDIA_NCCL_PIN="nvidia-nccl-cu13>=2.30.4"
# Canonical pin source for sglang-deepep-v2-efa (Wave 29).
export BASE_IMAGE_FAST="ghcr.io/antonai-work/deepep-v2-efa-base:v0.2.5-sm90a"
export DEEPEP_FORK="https://github.com/deepseek-ai/DeepEP.git"
export DEEPEP_BRANCH="aws-efa-auto-qp-cap-v2"
export DEEPEP_SHA="146cc356aa00c39ac1590c05775e05b0f031e70c"
export NVIDIA_NCCL_PIN="2.30.4"
export NVSHMEM_PIN="2.11.2"