[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