Conversation
Add NIXL EP + vLLM tests to the existing NIXL EP CI job. vLLM runs `test_elastic_ep_scaling` with `nixl_ep` as the all-to-all backend. - prepare vLLM and the backend-selection patch in the EP base image - update vLLM from its configured release branch only when the EP base image rebuilds; the cached base image does not update it on every PR - print the resolved vLLM ref and commit before the vLLM Elastic EP test - run the vLLM Elastic EP test after native elastic.py on the same allocation - extend EP CI timeouts, model-download configuration, cache invalidation, and docs
|
👋 Hi lishapira! Thank you for contributing to ai-dynamo/nixl. Your PR reviewers will review your contribution then trigger the CI to test your changes. 🚀 |
|
/build |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Setup Image stage #37 failed while building the vLLM editable install for the DL/EP elastic test; Root cause: Not a compile error in NIXL itself — the NIXL/Mooncake/Azure builds all succeeded (
Implicated commit: Most likely the base-image UCX change — File: Suggested fix: Make the UCX that ends up on the loader path match the HPC-X UCC in the image. Concretely, either (a) don't shadow HPC-X's UCX/UCS with a separately built UCX for this base image (ensure Related: PR #2064 (d815856, UCX spcx plugin in verification container); UCX-version bump PR #1868 ( |
Print the UCC/UCX library resolution while preparing vLLM so the image-build failure can identify the loaded UCX libraries. Increase the EP allocation and test budgets, and fail early if the vLLM venv and NIXL EP use different Torch or CUDA builds.
|
/build |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Stage 37 ("Setup Image aarch64/nixl-ci-dl-gpu-ep-base-pytorch26.06-cuda13.3-ubuntu24.04/0") failed building the vLLM elastic-test image; Root cause: The new Implicated commit: File: The Suggested fix: Resolve the HPC-X UCC/UCX ABI mismatch in the base image rather than papering over it. Concretely: ensure the UCC and UCX from the same HPC-X package are used together — e.g. Related: PR #2123 (#2123) — the PR under test that introduced this step. |
|
🤖 CI Triage Agent — TL;DR: The TSAN sanitizer gtest suite failed on a single deterministic test, Full analysisSummary: Root cause: In the ETCD/KV metadata-manager path, Implicated commit: File: Suggested fix: Make the ETCD/KV metadata-manager invalidation path delete the agent's published metadata key (and any locally cached remote resolution) so a subsequent Related: PR #1930 (Metadata manager pr5), PR #1907 (make the manager the single metadata-exchange path), PR #1745 (add etcd backend for nixlMDManager). |
Mooncake dependencies install Ubuntu UCX 1.16, while the PyTorch image uses HPC-X UCC with UCX 1.21. Prioritize the matched HPC-X libraries during vLLM installation and testing so Torch does not mix the two UCX versions.
|
/build |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Docker image build (stage 37, Root cause: During the editable install of vLLM ( Implicated commit: File: The Suggested fix: Pin the torch/vLLM combination rather than resolving them freshly at build time:
Related: PR #2123 (this build); prior CI changes 33606ee, 0c37add, 04c2a44. No existing issue tracks this specific |
|
🤖 CI Triage Agent — TL;DR: The DL Python test stage failed on the single test Full analysisSummary: Root cause: In the spawned worker (rank 1),
The local Implicated commit: The test + Python binding was added in File: Suggested fix: Investigate why the local VRAM Related: PR #1715 (adds
|
Disable uv build isolation for the vLLM editable install so the experiment uses the NGC image's Torch instead of a temporary build environment.
|
/build |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Docker image build for the DL EP tests failed installing vLLM from source ( Root cause: In the Dockerfile step guarded by The newly pinned Implicated commit: unknown — the failing File: The Dockerfile Suggested fix: Pre-install the vLLM build requirements into the venv before the Alternatively, use Related: none found ( |
Create a clean CUDA 13 Torch 2.13.0 venv for vLLM, then build and run NIXL EP from that same environment. This ensures native elastic.py and vLLM Elastic EP use an extension compiled against the identical Torch ABI. Remove the first approach's inherited system Torch, disabled build isolation, and temporary UCX diagnostics. Keep the required HPC-X library precedence for the vLLM install and test runtime.
|
/build |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Stage #37 "Setup Image … base-pytorch26.06-cuda13.3" failed with Root cause: The new vLLM EP test step installs Implicated commit: File: The Suggested fix:
Related: PR #2123 (#2123) — "CI: add VLLM+nixl_ep test to EP CI job"; predecessor CI commits |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Root cause: In the worker, the local Implicated commit: File: Suggested fix: Investigate Related: PR #1715 (introduced
|
Install vLLM's declared CUDA build requirements in the prepared EP test venv, then install vLLM editable with --no-build-isolation. This makes the vLLM build use the same Torch 2.13.0 CUDA 13 environment as NIXL EP instead of uv's separate isolated build environment. Smoke-import Torch after installing it so an invalid target-venv wheel fails before the vLLM build starts.
|
/build |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Stage "Run DL Python tests" failed — Root cause: In the worker, Implicated commit: Not the PR's commit (d74ea03 is CI-only). The affected feature was introduced by File: Suggested fix: This is a UCX-backend / device-API failure unrelated to PR #2123, so re-run CI to confirm it's not a transient node/environment issue on Related: PR #1715 (introduced prepMemView bindings/test); PR #2123 (build under test, CI-only). No existing issue found for the
|
|
🤖 CI Triage Agent — TL;DR: The DL-EP Docker build fails compiling the UCCL Full analysisSummary: Stage "Compiling NIXL EP Docker Image for DL" (build_helper_dl_ep/aarch64) failed at STEP 15 while running Root cause: Implicated commit: unknown — this is a pre-existing flag-guard mismatch in File: Suggested fix: Make Related: none found.
|
Only the DL EP matrix passes NIXL_PYTHON. Other jobs leave it unset and keep their existing system-Python dependency and NIXL build behavior. For DL EP, select the vLLM venv only while Meson configures NIXL, so NIXL EP builds against vLLM's Torch and its Python modules install into the venv. Keep UCCL and the other dependency builds on the system environment, with native NIXL libraries and runtime files under /opt/nixl. - remove the global venv PATH override that changed dependency builds - restore /opt/nixl as the NIXL build and runtime prefix
|
/build |
1 similar comment
|
/build |
|
🤖 CI Triage Agent — TL;DR: The DL-EP Docker build fails because Full analysisSummary: Stage "Compiling NIXL EP Docker Image for DL" (#184) failed: Root cause: In Implicated commit: File: Suggested fix: Do not delete the native file until after the build/install completes. Either move the Related: PR #2123 (this change); prior touch commit #2097 (mtime install change) is unrelated. |
The last CI run failed with an OOM while two CUDA compilers generated kernels for several GPU architectures within the 16 GiB base-image builder. Build one file at a time and target SM100 only, matching the GB200 GPUs used by DL EP CI.
|
/build |
|
🤖 CI Triage Agent — TL;DR: The C++ gtest suite in the "Run CPP tests" stage died with Full analysisSummary: "Run CPP tests" stage (node 219) failed — the Root cause: The gtest run was progressing normally (continuous output, no >2-min gaps) through the Implicated commit: None in PR #2123 (878c7d1) — unrelated CI-config change. The heavy etcd tests were most recently reworked in #1930 "Metadata manager pr5" (aschwartz12) and touched by #2130 (kerrg, 2026-08-22), but no commit is proven at fault. File: test/gtest/metadata_exchange.cpp ( Suggested fix: Re-run the "Run CPP tests" stage — this is a transient container exec-stream drop, not a defect in PR #2123. If it recurs: (1) ensure each CI build gets an isolated etcd namespace/endpoint (per #1408) so concurrent builds on the same node (3275 and 3276 were both on mizu01) don't interfere; and (2) consider not co-scheduling two Related: PR #2123 (under test, unrelated); #2130 "test: skip centralized metadata cleanup without a store"; #1930 "Metadata manager pr5"; #1408 "Allow any ETCD namespace". |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Stage "Setup Image aarch64/nixl-ci-dl-gpu-ep-base-pytorch26.06-cuda13.3-ubuntu24.04/0" (ID 37) ran 3.8 h and was ABORTED with exit code 143 while building the vLLM elastic-test image. Root cause: A hang, not a wall-clock overrun. The stage log shows continuous progress up to Implicated commit: The File: The Dockerfile Suggested fix: Treat this as a hung build step, not a timeout to be raised. Concretely: (1) add progress/verbose output and a per-step timeout to the vLLM editable build so a stall fails fast instead of consuming the whole stage (e.g. wrap in Related: PR #2123 (this build); CI commits |
The single-job vLLM build was interrupted after more than three hours without finishing. Now that compilation targets only SM100 instead of several GPU architectures, restore two parallel jobs to reduce elapsed time while retaining lower per-compiler memory use. Enable verbose uv and vLLM build output so CI reports compilation progress.
|
/build |
Remove duplicate Git, uv, Torch, patch-check, configuration, and logging steps while preserving the shared vLLM venv and Meson native-file selection required for Torch ABI alignment. Let vLLM's CUDA build requirements install the pinned Torch environment once. Align the preflight with vLLM's actual has_nixl test gate so an unavailable NIXL backend fails instead of being skipped.
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Docker base-image build stage Root cause: A hang, not slow progress. Timestamps show continuous activity through 12:35:17.961Z (uv finished downloading vLLM's build dependencies, Implicated commit: [REDACTED:Hex High Entropy String] (PR #2123, lishapira) — "CI: add VLLM+nixl_ep test to EP CI job", which adds the vLLM elastic-test image build. File: The Suggested fix: In the new vLLM build step, stop serializing the compile: raise
|
|
🤖 CI Triage Agent — TL;DR: The "Run DL NIXL EP tests" stage was killed by an outer pipeline timeout after ~2.5 min of total silence; the last line was Full analysisSummary: Stage 219 ( Root cause: The Implicated commit: unknown — this is an infrastructure/environment hang (pyxis import from Artifactory onto the GB200 node), not a code defect in commit 4c12156. File: Suggested fix:
Related: none (no matching issue/PR found). |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: The pipeline was killed by its top-level Root cause: Legitimate but excessively long setup work, not a hang. The "Setup Image …pytorch26.06-cuda13.3…" stage ran ~5.58 hrs, dominated by a single step: Implicated commit: PR #2123 — the vLLM-from-source EP integration; File: Suggested fix: Don't build vLLM from source inside the pipeline's timed window. Prebuild/cache the vLLM+CUDA/CUTLASS wheel (or the base image with vLLM already installed) so setup is a fast install rather than a ~5-hour compile, and/or move the Related: PR #2123 (#2123); related setup commits |
The last two EP runs were aborted at the 360 minute job cap before any test ran. The vLLM source build alone took 5 hours 36 minutes of a 6 hour run, because it compiles with two jobs on a 16 GiB builder, while the PR image and the Slurm allocation together needed only 21 minutes. Give the job the memory budget of the build jobs rather than the test jobs and raise compilation to six parallel jobs, which keeps more memory per compiler than the ratio that previously ran out of memory across several GPU architectures. requests match limits so a multi-hour compile is not evicted under node memory pressure. Raise the job cap to 600 minutes so a cold base image build, the PR image, the allocation wait and the full test run fit without aborting.
|
/build |
|
🤖 CI Triage Agent — TL;DR: The build succeeded; the "Run DL Python tests" stage failed on a single test, Full analysisSummary: Root cause: In the local Implicated commit: Not a code regression from this PR. The test itself was introduced by [REDACTED:Hex High Entropy String] (x41lakazam, PR #1715 "Expose prepMemView"); the UCX device mem-list path is in mem_list.cpp (last touched 6ad0cea). The failure is environmental (UCX/driver on the GB200 test node), not caused by commit 9c52ce7. File: Suggested fix: This should not gate PR #2123. Investigate the UCX GPU-device-API local mem-list on the GB200 node: confirm the UCX 1.22.0 build's Related: PR #1715 (introduced the test), PR #1410 / #1342 (UCX device mem-list API). No existing issue found for the "invalid memh" signature.
|
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Single Python test Root cause: In the spawned worker, Implicated commit: File: Suggested fix: Investigate how the local mem-list element derives the UCX Related: PR #1715 (introduced prep_mem_view + this test); current build is on PR #2123. No existing issue tracks this specific UCX "invalid memh" failure.
|
|
🤖 CI Triage Agent — TL;DR: The "Setup Image" stage failed while building vLLM (with SM100 NVFP4/CUTLASS kernels) inside the EP-test Docker image; the Full analysisSummary: Stage "Setup Image …nixl-ci-dl-gpu-ep-base-pytorch26.06-cuda13.3-ubuntu24.04/0" (#37) failed building the vLLM editable wheel during the new EP elastic-test image build. Root cause: The Dockerfile RUN that builds vLLM runs Implicated commit: PR #2123 "CI: add VLLM+nixl_ep test to EP CI job" (commit [REDACTED:Hex High Entropy String]) — this PR introduces the failing image-build RUN step. File: The EP-test Dockerfile RUN block guarded by Suggested fix: Reduce build parallelism to fit available RAM: set Related: #2123
|
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Stage "Setup Image aarch64/nixl-ci-dl-gpu-ep-base-pytorch26.06-cuda13.3-ubuntu24.04/0" failed; the Root cause: Out-of-memory during parallel CUDA compilation. The vLLM build was launched with Implicated commit: [REDACTED:Hex High Entropy String] (PR #2123, "CI: add VLLM+nixl_ep test to EP CI job") — this PR introduces the File: The Suggested fix: Lower the compile parallelism so peak RAM stays within the builder's limits — set Related: #2123
|
Six parallel jobs ran out of memory while compiling the CUTLASS blockscaled MMA kernels, and the CUDA front end was killed at file 67 of 428. Use four jobs, which gives each compiler the same memory share that the two-job build had before the builder memory budget was raised. Report the builder cgroup memory limit and processor count before the build so the parallelism can be matched to the memory actually available to the image builder rather than to the node.
|
/build |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: The aarch64 nixlbench container "Setup docker" step aborted with exit code 125 during registry authentication. Root cause: Transient network failure reaching the GitLab container registry: Implicated commit: unknown — not a code issue; the PR commit f9000e8 is not implicated (parallel variants of the same code built successfully). File: unknown (infrastructure failure in the "Setup docker" step, not a source file). Suggested fix: Retry the build. If the TLS handshake timeouts to Related: none |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Parallel stage Root cause: Podman failed to authenticate credentials for Implicated commit: none — failure is infrastructural (registry TLS handshake timeout), unrelated to commit dad3e90. File: N/A (no source file implicated); failure is in the "Setup docker" pipeline step, log node 111. Suggested fix: Retry the build. If aarch64 agents repeatedly hit TLS handshake timeouts against Related: none |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Jenkins job Root cause: Not a hang. The stage log shows nvcc compiling flash-attn instantiations advancing continuously — Implicated commit: File: The vLLM source-build step in the aarch64 base-image build config under Suggested fix: Treat this as a build-cost problem, not a flaky hang:
Related: PR #2123; CI commits |
|
🤖 CI Triage Agent — TL;DR: The Full analysisSummary: Stage #219 "Run DL NIXL EP tests" failed — the vLLM Root cause: The pytest fixture Implicated commit: File: vLLM Suggested fix: Install Related: PR #2150 "ci: add vLLM Elastic EP integration test"; implicated commit b430ce5. |
|
🤖 CI Triage Agent — TL;DR: The new vLLM Elastic EP pytest failed because the Full analysisSummary: Stage "Run DL NIXL EP tests" failed: Root cause: The pytest fixture Implicated commit: [REDACTED:Hex High Entropy String] (branch File: Suggested fix: Ensure Related: PR #2123 (nixl_ep_ci_add_vllm_integration_tests); upstream vLLM
|
Add vLLM + NIXL EP tests to the existing NIXL EP CI job. vLLM runs
test_elastic_ep_scalingwithnixl_epas the all-to-all backend.