Skip to content

Commit be0266b

Browse files
mawong-amdrjrock
authored andcommitted
[Hardware][AMD][CI] Tweak mirrored tests; improve CI base dependency change detection (vllm-project#46930)
Signed-off-by: Matthew Wong <Matthew.Wong2@amd.com>
1 parent f9a8eab commit be0266b

6 files changed

Lines changed: 30 additions & 35 deletions

File tree

.buildkite/scripts/ci-bake-rocm.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ set -euo pipefail
1515

1616
DEFAULT_REPO_SLUG="vllm-project/vllm"
1717
DEFAULT_CI_HCL_SOURCE="docker/ci-rocm.hcl"
18-
DEFAULT_CI_BASE_CONTENT_FILES="requirements/common.txt requirements/rocm.txt requirements/test/rocm.txt docker/Dockerfile.rocm_base tools/install_torchcodec_rocm.sh tests/vllm_test_utils"
18+
DEFAULT_CI_BASE_CONTENT_FILES="requirements/common.txt requirements/rocm.txt requirements/test/rocm.txt docker/Dockerfile.rocm_base docker/ci-rocm.hcl docker/docker-bake-rocm.hcl tools/install_torchcodec_rocm.sh tests/vllm_test_utils .buildkite/scripts/ci-bake-rocm.sh"
1919
DEFAULT_CI_BASE_DOCKERFILE="docker/Dockerfile.rocm"
2020
DEFAULT_CI_BASE_DOCKERFILE_STAGES="base build_rixl build_rocshmem build_deepep mori_base ci_base"
2121
DEFAULT_CI_BASE_METADATA_VERSION="1"

.buildkite/test-amd.yaml

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ steps:
438438
#----------------------------------------------------- mi300 · basic_correctness -----------------------------------------------------#
439439

440440
- label: Basic Correctness # TBD
441-
timeout_in_minutes: 40
441+
timeout_in_minutes: 50
442442
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
443443
agent_pool: mi300_1
444444
fast_check: true
@@ -456,7 +456,7 @@ steps:
456456
- pytest -v -s basic_correctness/test_cpu_offload.py
457457

458458
- label: Distributed Model Tests (2 GPUs) # TBD
459-
timeout_in_minutes: 180
459+
timeout_in_minutes: 65
460460
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
461461
agent_pool: mi300_2
462462
num_gpus: 2
@@ -678,7 +678,7 @@ steps:
678678
- pytest -v -s distributed/test_eplb_spec_decode.py
679679

680680
- label: Distributed Tests (2xH100-2xMI300) # TBD
681-
timeout_in_minutes: 180
681+
timeout_in_minutes: 30
682682
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
683683
agent_pool: mi300_2
684684
num_gpus: 2
@@ -1199,7 +1199,7 @@ steps:
11991199
#--------------------------------------------------------- mi300 · examples ----------------------------------------------------------#
12001200

12011201
- label: Examples # TBD
1202-
timeout_in_minutes: 180
1202+
timeout_in_minutes: 45
12031203
mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300]
12041204
agent_pool: mi300_1
12051205
optional: true
@@ -1212,19 +1212,16 @@ steps:
12121212
commands:
12131213
- pip install tensorizer
12141214
# Basic
1215-
- python3 basic/offline_inference/chat.py --attention-backend TRITON_ATTN
1215+
- python3 basic/offline_inference/chat.py
12161216
- python3 basic/offline_inference/generate.py --model facebook/opt-125m
12171217
- python3 basic/offline_inference/generate.py --model meta-llama/Llama-2-13b-chat-hf --cpu-offload-gb 10
12181218
- python3 basic/offline_inference/classify.py
12191219
- python3 basic/offline_inference/embed.py
12201220
- python3 basic/offline_inference/score.py
12211221
# Multi-modal models
12221222
- python3 generate/multimodal/audio_language_offline.py --seed 0
1223-
# These two examples import transformers before vllm, so on ROCm the HIP context
1224-
# is initialized in the parent before vllm sets this guard, poisoning fork. Set it
1225-
# inline to keep torch.cuda.is_available() fork-safe (see vllm/env_override.py).
1226-
- PYTORCH_NVML_BASED_CUDA_CHECK=1 python3 generate/multimodal/vision_language_offline.py --seed 0
1227-
- PYTORCH_NVML_BASED_CUDA_CHECK=1 python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
1223+
- python3 generate/multimodal/vision_language_offline.py --seed 0
1224+
- python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
12281225
- python3 generate/multimodal/encoder_decoder_multimodal_offline.py --model-type whisper --seed 0
12291226
# Pooling models
12301227
- python3 pooling/embed/vision_embedding_offline.py --seed 0
@@ -1666,10 +1663,7 @@ steps:
16661663
- pytest -v -s tests/models/test_transformers.py
16671664
- pytest -v -s tests/models/multimodal/test_mapping.py
16681665
- python3 examples/basic/offline_inference/chat.py
1669-
# This example imports transformers before vllm, so on ROCm the HIP context is
1670-
# initialized in the parent before vllm sets this guard, poisoning fork. Set it
1671-
# inline to keep torch.cuda.is_available() fork-safe (see vllm/env_override.py).
1672-
- PYTORCH_NVML_BASED_CUDA_CHECK=1 python3 examples/generate/multimodal/vision_language_offline.py --model-type qwen2_5_vl
1666+
- python3 examples/generate/multimodal/vision_language_offline.py --model-type qwen2_5_vl
16731667
- VLLM_WORKER_MULTIPROC_METHOD=spawn python3 examples/generate/multimodal/audio_language_offline.py --model-type whisper
16741668

16751669
#---------------------------------------------------------- mi300 · plugins ----------------------------------------------------------#
@@ -2773,7 +2767,7 @@ steps:
27732767
#--------------------------------------------------------- mi355 · examples ----------------------------------------------------------#
27742768

27752769
- label: Examples # TBD
2776-
timeout_in_minutes: 180
2770+
timeout_in_minutes: 45
27772771
mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355]
27782772
agent_pool: mi355_1
27792773
working_dir: "/vllm-workspace/examples"
@@ -2785,19 +2779,16 @@ steps:
27852779
commands:
27862780
- pip install tensorizer
27872781
# Basic
2788-
- python3 basic/offline_inference/chat.py --attention-backend TRITON_ATTN
2782+
- python3 basic/offline_inference/chat.py
27892783
- python3 basic/offline_inference/generate.py --model facebook/opt-125m
27902784
- python3 basic/offline_inference/generate.py --model meta-llama/Llama-2-13b-chat-hf --cpu-offload-gb 10
27912785
- python3 basic/offline_inference/classify.py
27922786
- python3 basic/offline_inference/embed.py
27932787
- python3 basic/offline_inference/score.py
27942788
# Multi-modal models
27952789
- python3 generate/multimodal/audio_language_offline.py --seed 0
2796-
# These two examples import transformers before vllm, so on ROCm the HIP context
2797-
# is initialized in the parent before vllm sets this guard, poisoning fork. Set it
2798-
# inline to keep torch.cuda.is_available() fork-safe (see vllm/env_override.py).
2799-
- PYTORCH_NVML_BASED_CUDA_CHECK=1 python3 generate/multimodal/vision_language_offline.py --seed 0
2800-
- PYTORCH_NVML_BASED_CUDA_CHECK=1 python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
2790+
- python3 generate/multimodal/vision_language_offline.py --seed 0
2791+
- python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
28012792
- python3 generate/multimodal/encoder_decoder_multimodal_offline.py --model-type whisper --seed 0
28022793
# Pooling models
28032794
- python3 pooling/embed/vision_embedding_offline.py --seed 0

.buildkite/test_areas/basic_correctness.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ steps:
1919
mirror:
2020
amd:
2121
device: mi325_1
22-
timeout_in_minutes: 40
22+
timeout_in_minutes: 50
2323
depends_on:
2424
- image-build-amd

.buildkite/test_areas/distributed.yaml

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -224,18 +224,6 @@ steps:
224224
- pytest -v -s tests/v1/distributed/test_dbo.py
225225
- VLLM_ALLOW_INSECURE_SERIALIZATION=1 pytest -v -s tests/distributed/test_weight_transfer.py
226226
- pytest -v -s tests/distributed/test_packed_tensor.py
227-
mirror:
228-
amd:
229-
device: mi300_2
230-
timeout_in_minutes: 180
231-
depends_on:
232-
- image-build-amd
233-
commands:
234-
- VLLM_ALLOW_INSECURE_SERIALIZATION=1 python3 examples/rl/rlhf_async_new_apis.py
235-
- VLLM_LOGGING_LEVEL=DEBUG python3 examples/features/data_parallel/data_parallel_offline.py --model=Qwen/Qwen1.5-MoE-A2.7B -tp=1 -dp=2 --max-model-len=2048
236-
- pytest -v -s tests/v1/distributed/test_dbo.py
237-
- VLLM_ALLOW_INSECURE_SERIALIZATION=1 pytest -v -s tests/distributed/test_weight_transfer.py
238-
- pytest -v -s tests/distributed/test_packed_tensor.py
239227

240228
- label: Distributed Tests (2xB200)
241229
key: distributed-tests-2xb200

.buildkite/test_areas/misc.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,16 @@ steps:
224224
- python3 features/speculative_decoding/spec_decode_offline.py --test --method eagle --num_spec_tokens 3 --dataset-name hf --dataset-path philschmid/mt-bench --num-prompts 80 --temp 0 --top-p 1.0 --top-k -1 --tp 1 --enable-chunked-prefill --max-model-len 2048
225225
# https://github.com/vllm-project/vllm/pull/26682 uses slightly more memory in PyTorch 2.9+ causing this test to OOM in 1xL4 GPU
226226
- python3 features/speculative_decoding/spec_decode_offline.py --test --method eagle3 --num_spec_tokens 3 --dataset-name hf --dataset-path philschmid/mt-bench --num-prompts 80 --temp 0 --top-p 1.0 --top-k -1 --tp 1 --enable-chunked-prefill --max-model-len 1536
227+
mirror:
228+
amd:
229+
device: mi325_1
230+
source_file_dependencies:
231+
- vllm/entrypoints
232+
- vllm/multimodal
233+
- examples/
234+
- vllm/platforms/rocm.py
235+
depends_on:
236+
- image-build-amd
227237

228238
- label: Metrics, Tracing (2 GPUs)
229239
key: metrics-tracing-2-gpus

docker/Dockerfile.rocm

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,9 @@ RUN --mount=type=cache,target=/root/.cache/uv \
575575
ENV HF_XET_HIGH_PERFORMANCE=1
576576
ENV HF_HUB_DOWNLOAD_TIMEOUT=60
577577

578+
# Keep torch.cuda.is_available() fork-safe (see vllm/env_override.py).
579+
ENV PYTORCH_NVML_BASED_CUDA_CHECK=1
580+
578581
# Pre-install vLLM test dependencies.
579582
COPY requirements/test/rocm.txt /tmp/rocm-test-reqs.txt
580583
RUN --mount=type=cache,target=/root/.cache/uv \
@@ -695,6 +698,9 @@ ENV SAFETENSORS_FAST_GPU=1
695698
# Performance environment variable.
696699
ENV HIP_FORCE_DEV_KERNARG=1
697700

701+
# Keep torch.cuda.is_available() fork-safe (see vllm/env_override.py).
702+
ENV PYTORCH_NVML_BASED_CUDA_CHECK=1
703+
698704
# Workaround for ROCm profiler limits
699705
RUN echo "ROCTRACER_MAX_EVENTS=10000000" > ${COMMON_WORKDIR}/libkineto.conf
700706
ENV KINETO_CONFIG="${COMMON_WORKDIR}/libkineto.conf"

0 commit comments

Comments
 (0)