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