[ROCm][Bugfix] Fix HIP fork re-init in multimodal offline examples (#46741)
Signed-off-by: pei.zhang <pei.zhang@amd.com>
peizhang56 committed
Jun 25, 2026 at 22:37 UTC
915e99ec6701b64af2c37c2172b151bf6b04ebbc
1 file changed
+14
-5
.buildkite/test-amd.yaml
+14
-5
@@ -1374,8 +1374,11 @@ steps:
1374
- python3 basic/offline_inference/score.py
1375
# Multi-modal models
1376
- python3 generate/multimodal/audio_language_offline.py --seed 0
1377
- - python3 generate/multimodal/vision_language_offline.py --seed 0
1378
- - python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
1377
+ # These two examples import transformers before vllm, so on ROCm the HIP context
1378
+ # is initialized in the parent before vllm sets this guard, poisoning fork. Set it
1379
+ # inline to keep torch.cuda.is_available() fork-safe (see vllm/env_override.py).
1380
+ - PYTORCH_NVML_BASED_CUDA_CHECK=1 python3 generate/multimodal/vision_language_offline.py --seed 0
1381
+ - PYTORCH_NVML_BASED_CUDA_CHECK=1 python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
1382
- python3 generate/multimodal/encoder_decoder_multimodal_offline.py --model-type whisper --seed 0
1383
# Pooling models
1384
- python3 pooling/embed/vision_embedding_offline.py --seed 0
@@ -1817,7 +1820,10 @@ steps:
1820
- pytest -v -s tests/models/test_transformers.py
1821
- pytest -v -s tests/models/multimodal/test_mapping.py
1822
- python3 examples/basic/offline_inference/chat.py
1820
- - python3 examples/generate/multimodal/vision_language_offline.py --model-type qwen2_5_vl
1823
+ # This example imports transformers before vllm, so on ROCm the HIP context is
1824
+ # initialized in the parent before vllm sets this guard, poisoning fork. Set it
1825
+ # inline to keep torch.cuda.is_available() fork-safe (see vllm/env_override.py).
1826
+ - PYTORCH_NVML_BASED_CUDA_CHECK=1 python3 examples/generate/multimodal/vision_language_offline.py --model-type qwen2_5_vl
1827
- VLLM_WORKER_MULTIPROC_METHOD=spawn python3 examples/generate/multimodal/audio_language_offline.py --model-type whisper
1828
1829
#------------------------------------------------------- mi300 · quantization --------------------------------------------------------#
@@ -2893,8 +2899,11 @@ steps:
2899
- python3 basic/offline_inference/score.py
2900
# Multi-modal models
2901
- python3 generate/multimodal/audio_language_offline.py --seed 0
2896
- - python3 generate/multimodal/vision_language_offline.py --seed 0
2897
- - python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
2902
+ # These two examples import transformers before vllm, so on ROCm the HIP context
2903
+ # is initialized in the parent before vllm sets this guard, poisoning fork. Set it
2904
+ # inline to keep torch.cuda.is_available() fork-safe (see vllm/env_override.py).
2905
+ - PYTORCH_NVML_BASED_CUDA_CHECK=1 python3 generate/multimodal/vision_language_offline.py --seed 0
2906
+ - PYTORCH_NVML_BASED_CUDA_CHECK=1 python3 generate/multimodal/vision_language_multi_image_offline.py --seed 0
2907
- python3 generate/multimodal/encoder_decoder_multimodal_offline.py --model-type whisper --seed 0
2908
# Pooling models
2909
- python3 pooling/embed/vision_embedding_offline.py --seed 0