
    `i                         d dl Z d dlZddlmZmZmZ ddlmZ ej	        dk     rd dl
mZ nd dlmZ  e j        e          ZdgZded	efd
Zded	efdZded	efdZded	efdZddZddZded	efdZdS )    N   )rendezvous_handler_registryRendezvousHandlerRendezvousParameters)create_handler)   
   )entry_pointsget_rendezvous_handlerparamsreturnc                 8    ddl m} |                    |           S )Nr   )static_tcp_rendezvous) r   create_rdzv_handler)r   r   s     /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/torch/distributed/elastic/rendezvous/registry.py_create_static_handlerr      s(    '''''' 44V<<<    c                 8    ddl m} |                    |           S )Nr   )etcd_rendezvous)r   r   r   )r   r   s     r   _create_etcd_handlerr   "   s(    !!!!!!..v666r   c                 L    ddl m}  ||           \  }}t          |||           S Nr   )create_backend)etcd_rendezvous_backendr   r   r   r   backendstores       r   _create_etcd_v2_handlerr   (   9    777777#^F++NGU%&111r   c                 L    ddl m}  ||           \  }}t          |||           S r   )c10d_rendezvous_backendr   r   r   s       r   _create_c10d_handlerr#   0   r    r   c                      t          j        dt                     t          j        dt                     t          j        dt                     t          j        dt
                     d S )Netcdzetcd-v2c10dstatic)handler_registryregisterr   r   r#   r    r   r   _register_default_handlersr+   8   sX    f&:;;;i)@AAAf&:;;;h(>?????r   c                     t          d          } | D ]v}	 | |j                                                 }t          j        |j         |                       E# t
          $ r% t                              d|j        d           Y sw xY wd S )Nztorchrun.handlers)groupz3Exception while registering out of tree plugin %s: T)exc_info)r
   nameloadr(   r)   	Exceptionlogwarning)discovered_handler_generatorshandler_generatorget_handlers      r   _register_out_of_tree_handlersr7   ?   s    $07J$K$K$K!: 	 		78I8NOTTVVK%&7&<kkmmLLLL 	 	 	KKE!&      			 	s   AA,BBc                 *    t          j        |           S )aL  
    Obtain a reference to a :py:class`RendezvousHandler`.

    Custom rendezvous handlers can be registered by

    ::

      from torch.distributed.elastic.rendezvous import rendezvous_handler_registry
      from torch.distributed.elastic.rendezvous.registry import get_rendezvous_handler


      def create_my_rdzv(params: RendezvousParameters):
          return MyCustomRdzv(params)


      rendezvous_handler_registry.register("my_rdzv_backend_name", create_my_rdzv)

      my_rdzv_handler = get_rendezvous_handler(
          "my_rdzv_backend_name", RendezvousParameters
      )
    )r(   r   )r   s    r   r   r   N   s    , *6222r   )r   N)loggingsysapir   r(   r   r   dynamic_rendezvousr   version_infoimportlib_metadatar
   importlib.metadata	getLogger__name__r2   __all__r   r   r   r#   r+   r7   r   r*   r   r   <module>rC      s    



         
 / . . . . . g/////////////g!!#
$=#7 =<M = = = =7!5 7:K 7 7 7 72$8 2=N 2 2 2 22!5 2:K 2 2 2 2@ @ @ @   3#7 3<M 3 3 3 3 3 3r   