A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 2, 07:15 UTC
[Bugfix][CI] Normalize NIXL connector CUDA wheel installs (#44266)
Signed-off-by: Alec Flowers <aflowers@nvidia.com>
Alec committed
Jun 1, 2026 at 19:34 UTC
816cc73a9be9567161586279330173544196fa46
3 files changed
+49
-10
.buildkite/scripts/install-kv-connectors.sh
new
+39
@@ -0,0 +1,39 @@
1
+#!/bin/bash
2
+# SPDX-License-Identifier: Apache-2.0
3
+# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
4
+
5
+set -euo pipefail
6
+
7
+REQUIREMENTS_FILE="${KV_CONNECTORS_REQUIREMENTS:-/vllm-workspace/requirements/kv_connectors.txt}"
8
+
9
+uv pip install --system -r "${REQUIREMENTS_FILE}"
10
+
11
+NIXL_METADATA=$(python3 - <<'PY'
12
+import importlib.metadata as metadata
13
+
14
+import torch
15
+
16
+cuda_version = torch.version.cuda
17
+if cuda_version is None:
18
+ raise SystemExit("torch.version.cuda is not set")
19
+
20
+print(cuda_version.split(".", 1)[0], metadata.version("nixl"))
21
+PY
22
+)
23
+read -r CUDA_MAJOR NIXL_VERSION <<<"${NIXL_METADATA}"
24
+
25
+# nixl>=1.1.0 can install multiple CUDA wheel variants. Keep only the variant
26
+# matching this CI image so nixl_ep_cpp links against the available libcudart.
27
+uv pip uninstall --system nixl-cu12 nixl-cu13 2>/dev/null || true
28
+uv pip install --system --no-deps "nixl-cu${CUDA_MAJOR}==${NIXL_VERSION}"
29
+
30
+python3 - <<'PY'
31
+import importlib.metadata as metadata
32
+
33
+for package_name in ("nixl", "nixl-cu12", "nixl-cu13"):
34
+ try:
35
+ version = metadata.version(package_name)
36
+ except metadata.PackageNotFoundError:
37
+ version = "not installed"
38
+ print(f"{package_name}: {version}")
39
+PY
.buildkite/test_areas/disaggregated.yaml
+9
-9
@@ -11,7 +11,7 @@ steps:
11
- vllm/distributed/kv_transfer/kv_connector/v1/nixl/
12
- tests/v1/kv_connector/nixl_integration/
13
commands:
14
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
14
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
15
- bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
16
- label: Distributed FlashInfer NixlConnector PD accuracy (4 GPUs)
17
key: distributed-flashinfer-nixlconnector-pd-accuracy-4-gpus
@@ -22,7 +22,7 @@ steps:
22
- vllm/distributed/kv_transfer/kv_connector/v1/nixl/
23
- tests/v1/kv_connector/nixl_integration/
24
commands:
25
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
25
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
26
- FLASHINFER=1 bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
27
28
- label: DP EP Distributed NixlConnector PD accuracy tests (4 GPUs)
@@ -34,7 +34,7 @@ steps:
34
- vllm/distributed/kv_transfer/kv_connector/v1/nixl/
35
- tests/v1/kv_connector/nixl_integration/
36
commands:
37
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
37
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
38
- DP_EP=1 bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
39
40
- label: CrossLayer KV layout Distributed NixlConnector PD accuracy tests (4 GPUs)
@@ -46,7 +46,7 @@ steps:
46
- vllm/distributed/kv_transfer/kv_connector/v1/nixl/
47
- tests/v1/kv_connector/nixl_integration/
48
commands:
49
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
49
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
50
- CROSS_LAYERS_BLOCKS=True bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
51
52
- label: Hybrid SSM NixlConnector PD accuracy tests (4 GPUs)
@@ -58,7 +58,7 @@ steps:
58
- vllm/distributed/kv_transfer/kv_connector/v1/nixl/
59
- tests/v1/kv_connector/nixl_integration/
60
commands:
61
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
61
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
62
- HYBRID_SSM=1 bash v1/kv_connector/nixl_integration/config_sweep_accuracy_test.sh
63
64
- label: MultiConnector (Nixl+Offloading) PD accuracy (2 GPUs)
@@ -73,7 +73,7 @@ steps:
73
- vllm/distributed/kv_transfer/kv_connector/v1/offloading/
74
- tests/v1/kv_connector/nixl_integration/
75
commands:
76
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
76
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
77
- bash v1/kv_connector/nixl_integration/run_multi_connector_accuracy_test.sh
78
79
- label: NixlConnector PD + Spec Decode acceptance (2 GPUs)
@@ -87,7 +87,7 @@ steps:
87
- vllm/v1/worker/kv_connector_model_runner_mixin.py
88
- tests/v1/kv_connector/nixl_integration/
89
commands:
90
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
90
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
91
- bash v1/kv_connector/nixl_integration/config_sweep_spec_decode_test.sh
92
93
- label: MultiConnector (Nixl+Offloading) PD edge cases (2 GPUs)
@@ -102,5 +102,5 @@ steps:
102
- vllm/distributed/kv_transfer/kv_connector/v1/offloading/
103
- tests/v1/kv_connector/nixl_integration/
104
commands:
105
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
106
- - bash v1/kv_connector/nixl_integration/run_multi_connector_edge_case_test.sh
\ No newline at end of file
105
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
106
+ - bash v1/kv_connector/nixl_integration/run_multi_connector_edge_case_test.sh
.buildkite/test_areas/misc.yaml
+1
-1
@@ -86,7 +86,7 @@ steps:
86
- tests/v1/metrics
87
- tests/entrypoints/openai/correctness/test_lmeval.py
88
commands:
89
- - uv pip install --system -r /vllm-workspace/requirements/kv_connectors.txt
89
+ - bash /vllm-workspace/.buildkite/scripts/install-kv-connectors.sh
90
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
91
# split the test to avoid interference
92
- pytest -v -s -m 'not cpu_test' v1/core