You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

__init__.py 1.0 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. # -*- coding: utf-8 -*-
  2. from mprop import mproperty
  3. from ..core._imperative_rt.core2 import group_end, group_start
  4. from . import group
  5. from .group import (
  6. WORLD,
  7. Group,
  8. get_backend,
  9. get_client,
  10. get_mm_server_addr,
  11. get_py_server_addr,
  12. get_rank,
  13. get_world_size,
  14. group_barrier,
  15. init_process_group,
  16. is_distributed,
  17. new_group,
  18. override_backend,
  19. )
  20. from .helper import bcast_list_, make_allreduce_cb, synchronized
  21. from .launcher import launcher
  22. from .server import Client, Server
  23. @mproperty
  24. def backend(mod):
  25. r"""Get or set backend of collective communication.
  26. Available backends are ['nccl', 'shm', 'rccl']
  27. Examples:
  28. .. code-block::
  29. import megengine.distributed as dist
  30. dist.backend = "nccl"
  31. """
  32. assert group._sd, "please call init_process_group first"
  33. return group._sd.backend
  34. @backend.setter
  35. def backend(mod, val):
  36. assert group._sd, "please call init_process_group first"
  37. group._sd.backend = val