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 989 B

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