[CI][NIXL] Isolate concurrent engine internal ports (#49129)
Signed-off-by: Andreas Karatzas <Andreas.Karatzas@amd.com> Co-authored-by: OpenAI Codex <noreply@openai.com>
Andreas Karatzas committed
Jul 20, 2026 at 22:28 UTC
6bcda970fde272b06cff0d8f397224dbac96d7ad
1 file changed
+13
tests/v1/kv_connector/nixl_integration/run_accuracy_test.sh
+13
@@ -83,6 +83,11 @@ DECODE_BLOCK_SIZE=${DECODE_BLOCK_SIZE:-128}
83
ENFORCE_EAGER=${ENFORCE_EAGER:-1}
84
# Comma-separated extra args for vllm serve (e.g. --max-model-len,2048)
85
VLLM_SERVE_EXTRA_ARGS=${VLLM_SERVE_EXTRA_ARGS:-}
86
+# Pin concurrent prefiller and non-DP decoder engines to separate internal
87
+# port windows. DP decoder ranks retain their existing internal port selection.
88
+PREFILLER_INTERNAL_PORT_BASE=${PREFILLER_INTERNAL_PORT_BASE:-20000}
89
+DECODER_INTERNAL_PORT_BASE=${DECODER_INTERNAL_PORT_BASE:-30000}
90
+INTERNAL_PORT_STRIDE=${INTERNAL_PORT_STRIDE:-100}
91
92
# Resolve the repository root from the script location instead of `.git`.
93
# The ROCm CI image copies `/vllm-workspace` without the Git metadata, so
@@ -154,12 +159,14 @@ run_tests_for_model() {
159
PORT=$((8100 + i))
160
# Calculate side channel port. Avoid clash with with TP workers.
161
SIDE_CHANNEL_PORT=$((5559 + i))
162
+ INTERNAL_PORT=$((PREFILLER_INTERNAL_PORT_BASE + i * INTERNAL_PORT_STRIDE))
163
164
echo "Starting prefill instance $i on GPU $GPU_ID, port $PORT"
165
166
# Build the command with or without model-specific args
167
BASE_CMD="CUDA_VISIBLE_DEVICES=$GPU_ID \
168
VLLM_KV_CACHE_LAYOUT='HND' \
169
+ VLLM_PORT=$INTERNAL_PORT \
170
UCX_NET_DEVICES=all \
171
VLLM_NIXL_SIDE_CHANNEL_PORT=$SIDE_CHANNEL_PORT \
172
vllm serve $model_name \
@@ -208,12 +215,18 @@ run_tests_for_model() {
215
PORT=$((8200 + i))
216
# Calculate side channel port
217
SIDE_CHANNEL_PORT=$((5659 + i * $DECODER_TP_SIZE))
218
+ INTERNAL_PORT=$((DECODER_INTERNAL_PORT_BASE + i * INTERNAL_PORT_STRIDE))
219
+ DECODER_INTERNAL_PORT_ENV=
220
+ if [[ -z "${DP_EP:-}" ]]; then
221
+ DECODER_INTERNAL_PORT_ENV="VLLM_PORT=$INTERNAL_PORT"
222
+ fi
223
224
echo "Starting decode instance $i on GPU $GPU_ID, port $PORT"
225
226
# Build the command with or without model-specific args
227
BASE_CMD="CUDA_VISIBLE_DEVICES=$GPU_ID \
228
VLLM_KV_CACHE_LAYOUT=$DECODER_KV_LAYOUT \
229
+ $DECODER_INTERNAL_PORT_ENV \
230
UCX_NET_DEVICES=all \
231
VLLM_NIXL_SIDE_CHANNEL_PORT=$SIDE_CHANNEL_PORT \
232
vllm serve $model_name \