-
Notifications
You must be signed in to change notification settings - Fork 444
ci: Add nixl ep to new dl ci pipeline #1802
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
itayalroy
merged 8 commits into
ai-dynamo:main
from
lishapira:add_nixl_ep_to_new_dl_ci_pipeline
Jun 29, 2026
Merged
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
89459ae
nixl_ep ci: add nixl-ci-dl-gpu-ep job for nixl_ep elastic tests on dl…
lishapira aa664a1
nixl_ep ci: dedicate EP docker images and stage DOCA headers in base
lishapira 4a18cf0
nixl_ep ci: install meta wheel and expose nixl_ep_cu* in test_ep.sh
lishapira 92cccb7
nixl_ep ci: tune test params and simplify EP meson overrides
lishapira d8f44f3
nixl_ep ci: drop dead etcd kill, report DOCA cp failures, gate EP fas…
lishapira ba54abf
nixl_ep ci: gate RDMA elastic on all CX-7 NICs PORT_ACTIVE; revert EP…
lishapira 3113506
nixl_ep ci: drop unused DOCA header cp
lishapira dfd9273
nixl_ep ci: fix extra colon in CPATH export in test_ep.sh.
lishapira File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,168 @@ | ||
| --- | ||
| # | ||
| # DLCluster GPU EP Test Matrix Configuration for dlcluster.nvidia.com | ||
| # | ||
| # Runs the nixl_ep elastic tests on the DL cluster. This job is split out from | ||
| # nixl-ci-dl-gpu so the EP-specific image build (BUILD_NIXL_EP=true) and EP | ||
| # Slurm reservation do not affect the existing DL test flow. | ||
| # | ||
| # Key Components: | ||
| # - Job Configuration: Defines timeout, failure behavior, and server resources | ||
| # - Docker Images: Dedicated EP base + build_helper (nixl-ci-dl-gpu-ep-base-... and | ||
| # build_helper_dl_ep) | ||
| # - Matrix Axes: aarch64, UCX master + v1.21.x | ||
| # - Run Steps: build PR image with BUILD_NIXL_EP=true, allocate Slurm, run | ||
| # .gitlab/test_ep.sh (elastic.py NVLink + RDMA on 4 GPUs) | ||
| # | ||
| # When Modified: | ||
| # - Adding/removing Docker images: Affects available test environments | ||
| # - Modifying matrix axes: Changes test variations | ||
| # - Adjusting resource limits: Impacts test performance and resource allocation | ||
| # - Adding/removing steps: Changes the test pipeline sequence | ||
| # | ||
| # Note: Changes to this file are tested as part of the PR CI flow no need to test them manually. | ||
|
|
||
|
|
||
| job: nixl-ci-dl-gpu-ep | ||
|
|
||
| # Fail job if one of the steps fails or continue | ||
| failFast: false | ||
|
|
||
| timeout_minutes: 240 | ||
|
|
||
| registry_host: artifactory.nvidia.com | ||
| registry_auth: svc-nixl-new-artifactory-token | ||
| registry_path: /sw-nbu-swx-nixl-docker-local/ci | ||
|
|
||
| kubernetes: | ||
| cloud: il-ipp-blossom-prod | ||
| namespace: nbu-swx-nixl | ||
| imagePullSecrets: "['artifactory-pull-secret']" | ||
| limits: "{memory: 16Gi, cpu: 16000m}" | ||
| requests: "{memory: 8Gi, cpu: 8000m}" | ||
| privileged: true | ||
|
|
||
| credentials: | ||
| - {credentialsId: 'svc-nixl-new-artifactory-token', usernameVariable: 'REPO_USER', passwordVariable: 'REPO_PASS'} | ||
|
|
||
| env: | ||
| ARTIFACTORY_PATH: /sw-nbu-swx-nixl-docker-local/ci | ||
| NIXL_INSTALL_DIR: /opt/nixl | ||
| NIXL_BUILD_DIR: nixl_build | ||
| SLURM_NODES: 1 | ||
| SLURM_PARTITION: gb200nvl72_cx8 | ||
| SLURM_HEAD_NODE: dlcluster.nvidia.com | ||
| SLURM_HEAD_USER: svc-nixl | ||
| SLURM_ACCOUNT: 'blackwell' | ||
| SLURM_JOB_TIMEOUT: '01:30:00' | ||
| SLURM_IMMEDIATE_TIMEOUT: 3600 | ||
| SSH_CREDENTIALS_ID: 'svc-nixl-ssh_key' | ||
| JOB_ID_FILE_ROOT: "/mnt/pvc/${JOB_BASE_NAME}" | ||
| TEST_TIMEOUT: 50 | ||
| STORAGE_DRIVER: overlay | ||
| CI_IMAGE_TAG: "20260625-1" | ||
|
|
||
| empty_volumes: | ||
| - {mountPath: /var/lib/containers/storage, memory: false} | ||
|
|
||
| pvc_volumes: | ||
| - {claimName: nbu-swx-nixl-pvc, mountPath: /mnt/pvc, readOnly: false} | ||
|
|
||
| # Docker images for DL EP testing. | ||
| # Dedicated EP base + build_helper images (separate artifactory paths from the | ||
| # nixl-ci-dl-gpu job). | ||
| runs_on_dockers: | ||
| - { | ||
| file: '.ci/dockerfiles/Dockerfile.base', | ||
| name: 'nixl-ci-dl-gpu-ep-base-25.10-cuda13.0-ubuntu24.04', | ||
| tag: "${CI_IMAGE_TAG}", | ||
| arch: "aarch64", | ||
| build_args: '--build-arg NIXL_INSTALL_DIR=${NIXL_INSTALL_DIR} --build-arg BASE_IMAGE=nvcr.io/nvidia/cuda-dl-base:25.10-cuda13.0-devel-ubuntu24.04 --build-arg PRE_INSTALLED_UCX_ENV=true --build-arg PRE_INSTALLED_NIXL_ENV=true --build-arg ARCH=${arch} --pull --no-cache' | ||
| } | ||
|
|
||
| - { | ||
| file: '.ci/dockerfiles/Dockerfile.build_helper', | ||
| name: 'build_helper_dl_ep', | ||
| arch: "aarch64", | ||
| tag: "${CI_IMAGE_TAG}", | ||
| build_args: '--build-arg BASE_IMAGE=dockerhub.nvidia.com/ubuntu:24.04 --build-arg ARCH=${arch}' | ||
| } | ||
|
|
||
| matrix: | ||
| axes: | ||
| arch: | ||
| - aarch64 | ||
| ucx_version: | ||
| - master | ||
| - v1.21.x | ||
|
|
||
| taskName: "${name}/${arch}/ucx-${ucx_version}/${axis_index}" | ||
|
|
||
| steps: | ||
| - name: Compiling NIXL EP Docker Image for DL | ||
| containerSelector: "{name: 'build_helper_dl_ep'}" | ||
| credentialsId: "svc-nixl-new-artifactory-token" | ||
| parallel: false | ||
| run: | | ||
| set -x | ||
| export PR_IMAGE=${registry_host}${registry_path}/pr/${arch}/nixl-ci-dl-gpu-ep-test-${ucx_version}:${BUILD_NUMBER} | ||
| rm -rf /etc/containers/storage.conf && rm -f /usr/share/containers/storage.conf | ||
| podman build --network host --creds ${REPO_USER}:${REPO_PASS} \ | ||
| --build-arg UCX_VERSION=${ucx_version} \ | ||
| --build-arg PRE_INSTALLED_ENV="true" \ | ||
| --build-arg NIXL_INSTALL_DIR=${NIXL_INSTALL_DIR} \ | ||
| --build-arg NIXL_BUILD_DIR=${NIXL_BUILD_DIR} \ | ||
| --build-arg HAS_GPU=true \ | ||
| --build-arg BUILD_NIXL_EP=true \ | ||
| --build-arg BASE_IMAGE=${registry_host}${registry_path}/${arch}/nixl-ci-dl-gpu-ep-base-25.10-cuda13.0-ubuntu24.04:${CI_IMAGE_TAG} \ | ||
| --tag ${PR_IMAGE} \ | ||
| -f .ci/dockerfiles/Dockerfile.gpu-test . | ||
| podman push --creds ${REPO_USER}:${REPO_PASS} ${PR_IMAGE} | ||
|
|
||
| - name: Allocate DL EP Environment | ||
| containerSelector: "{name: 'build_helper_dl_ep'}" | ||
| parallel: false | ||
| shell: action | ||
| module: slurmCI | ||
| run: allocation | ||
| args: | ||
| partition: "${SLURM_PARTITION}" | ||
| headNode: "${SLURM_HEAD_NODE}" | ||
| headUser: "${SLURM_HEAD_USER}" | ||
| nodes: "${SLURM_NODES}" | ||
| jobTimeout: "${SLURM_JOB_TIMEOUT}" | ||
| immediateTimeout: "${SLURM_IMMEDIATE_TIMEOUT}" | ||
| jobName: "nixl-ci-ep-${ucx_version}-${BUILD_NUMBER}" | ||
| jobIdFile: "${JOB_ID_FILE_ROOT}/job_id_ep_${ucx_version}_${BUILD_NUMBER}.txt" | ||
| credentialsId: "${SSH_CREDENTIALS_ID}" | ||
| extraArgs: [ | ||
| "--account=${SLURM_ACCOUNT}" | ||
| ] | ||
|
|
||
| - name: Run DL EP elastic tests | ||
| containerSelector: "{name: 'build_helper_dl_ep'}" | ||
| timeout: "${TEST_TIMEOUT}" | ||
| parallel: false | ||
| shell: action | ||
| module: slurmCI | ||
| run: run | ||
| args: | ||
| jobIdFile: "${JOB_ID_FILE_ROOT}/job_id_ep_${ucx_version}_${BUILD_NUMBER}.txt" | ||
| testScript: ".gitlab/test_ep.sh ${NIXL_INSTALL_DIR}" | ||
| headNode: "${SLURM_HEAD_NODE}" | ||
| headUser: "${SLURM_HEAD_USER}" | ||
| dockerImage: "${registry_host}#${ARTIFACTORY_PATH}/pr/${arch}/nixl-ci-dl-gpu-ep-test-${ucx_version}:${BUILD_NUMBER}" | ||
| credentialsId: "${SSH_CREDENTIALS_ID}" | ||
| containerName: "nixl-ci-ep-${ucx_version}-${BUILD_NUMBER}" | ||
|
|
||
| pipeline_stop: | ||
| containerSelector: "{name: 'build_helper_dl_ep'}" | ||
| parallel: false | ||
| shell: action | ||
| module: slurmCI | ||
| run: stopAllForBuild | ||
| args: | ||
| credentialsId: "${SSH_CREDENTIALS_ID}" | ||
| headNode: "${SLURM_HEAD_NODE}" | ||
| headUser: "${SLURM_HEAD_USER}" | ||
| jobIdDir: "${JOB_ID_FILE_ROOT}" | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.