mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
[2/n] [torch/elastic] Introduce C10dRendezvousBackend
. (#55636)
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/55636 This diff introduces: - The `C10dRendezvousBackend` type to support C10d stores as rendezvous backends. - A fix to the `TCPStore.compare_set()` function to support non-existent keys. - A placeholder `c10d-experimental` registry to instantiate C10d-baked rendezvous backends via `get_rendezvous_handler()`. ghstack-source-id: 126312162 Test Plan: Run the existing and newly-introduced unit/integration tests. Reviewed By: tierex Differential Revision: D27654492 fbshipit-source-id: 09f498138b35186de4b0e174adb33fb5b5aa4b52
This commit is contained in:
committed by
Facebook GitHub Bot
parent
b3dd8cde61
commit
339d3bf394
@ -6,6 +6,7 @@
|
||||
|
||||
from .api import RendezvousHandler, RendezvousParameters
|
||||
from .api import rendezvous_handler_registry as handler_registry
|
||||
from .dynamic_rendezvous import create_handler
|
||||
|
||||
|
||||
def _create_etcd_handler(params: RendezvousParameters) -> RendezvousHandler:
|
||||
@ -14,8 +15,17 @@ def _create_etcd_handler(params: RendezvousParameters) -> RendezvousHandler:
|
||||
return etcd_rendezvous.create_rdzv_handler(params)
|
||||
|
||||
|
||||
def _create_c10d_handler(params: RendezvousParameters) -> RendezvousHandler:
|
||||
from .c10d_rendezvous_backend import create_backend
|
||||
|
||||
backend = create_backend(params)
|
||||
|
||||
return create_handler(backend.store, backend, params)
|
||||
|
||||
|
||||
def _register_default_handlers() -> None:
|
||||
handler_registry.register("etcd", _create_etcd_handler)
|
||||
handler_registry.register("c10d-experimental", _create_c10d_handler)
|
||||
|
||||
|
||||
# The legacy function kept for backwards compatibility.
|
||||
|
Reference in New Issue
Block a user