|
- # -*- coding: utf-8 -*-
- from mprop import mproperty
-
- from ..core._imperative_rt.core2 import group_end, group_start
- from . import group
- from .group import (
- WORLD,
- Group,
- get_backend,
- get_client,
- get_mm_server_addr,
- get_py_server_addr,
- get_rank,
- get_world_size,
- group_barrier,
- init_process_group,
- is_distributed,
- new_group,
- override_backend,
- )
- from .helper import bcast_list_, make_allreduce_cb, synchronized
- from .launcher import launcher
- from .server import Client, Server
-
-
- @mproperty
- def backend(mod):
- r"""Get or set backend of collective communication.
- Available backends are ['nccl', 'shm', 'rccl']
-
- Examples:
-
- .. code-block::
-
- import megengine.distributed as dist
- dist.backend = "nccl"
- """
- assert group._sd, "please call init_process_group first"
- return group._sd.backend
-
-
- @backend.setter
- def backend(mod, val):
- assert group._sd, "please call init_process_group first"
- group._sd.backend = val
|