"docs/source/getting_started/quickstart.md" did not exist on "94d545a1a18e20ea8763a6760194589b8a3c9065"
test_same_node.py 1.14 KB
Newer Older
1
2
import os

3
import torch.distributed as dist
4

5
from vllm.distributed.parallel_state import in_the_same_node_as
6
7
from vllm.distributed.utils import StatelessProcessGroup
from vllm.utils import get_ip, get_open_port
8

9
10
if __name__ == "__main__":
    dist.init_process_group(backend="gloo")
11

12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    rank = dist.get_rank()
    if rank == 0:
        port = get_open_port()
        ip = get_ip()
        dist.broadcast_object_list([ip, port], src=0)
    else:
        recv = [None, None]
        dist.broadcast_object_list(recv, src=0)
        ip, port = recv

    stateless_pg = StatelessProcessGroup.create(ip, port, rank,
                                                dist.get_world_size())

    for pg in [dist.group.WORLD, stateless_pg]:
        test_result = all(in_the_same_node_as(pg, source_rank=0))

        expected = os.environ.get("VLLM_TEST_SAME_HOST", "1") == "1"
        assert test_result == expected, \
            f"Expected {expected}, got {test_result}"
        if pg == dist.group.WORLD:
            print("Same node test passed! when using torch distributed!")
        else:
            print("Same node test passed! when using StatelessProcessGroup!")