@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / 55c21c8836
Fork 0

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 12, 16:00 UTC

[ROCm][CI] Fix "Cannot re-initialize CUDA in forked subprocess" in test_pynccl.py (#29119)

Signed-off-by: Micah Williamson <micah.williamson@amd.com>

Micah Williamson committed Nov 22, 2025 at 23:05 UTC 55c21c88363811feb2aeb5aecac3cd48683e4705
2 files changed +8 -3
requirements/rocm-test.txt
+3
@@ -40,5 +40,8 @@ mteb[bm25s]>=1.38.11, <2
40 # Required for eval tests
41 lm-eval[api] @ git+https://github.com/EleutherAI/lm-evaluation-harness.git@206b7722158f58c35b7ffcd53b035fdbdda5126d
42
43 +# Required for multiprocessed tests that use spawn method
44 +multiprocess==0.70.16
45 +
46 # Plugins test
47 terratorch @ git+https://github.com/IBM/terratorch.git@07184fcf91a1324f831ff521dd238d97fe350e3e
tests/distributed/test_pynccl.py
+5 -3
@@ -1,9 +1,9 @@
1 # SPDX-License-Identifier: Apache-2.0
2 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
3
4 -import multiprocessing
4 import os
5
6 +import multiprocess as mp
7 import numpy as np
8 import pytest
9 import torch
@@ -20,10 +20,12 @@ from vllm.distributed.parallel_state import (
20 )
21 from vllm.utils.system_utils import update_environment_variables
22
23 +mp.set_start_method("spawn", force=True)
24 +
25
26 def distributed_run(fn, world_size):
27 number_of_processes = world_size
26 - processes: list[multiprocessing.Process] = []
28 + processes: list[mp.Process] = []
29 for i in range(number_of_processes):
30 env: dict[str, str] = {}
31 env["RANK"] = str(i)
@@ -32,7 +34,7 @@ def distributed_run(fn, world_size):
34 env["LOCAL_WORLD_SIZE"] = str(number_of_processes)
35 env["MASTER_ADDR"] = "localhost"
36 env["MASTER_PORT"] = "12345"
35 - p = multiprocessing.Process(target=fn, args=(env,))
37 + p = mp.Process(target=fn, args=(env,))
38 processes.append(p)
39 p.start()
40