
    
9j                    N    S SK Jr  S SKrS SKJr   " S S\R
                  5      rg)    )annotationsN)_storec                  .   \ rS rSr\R
                  \R                  4S jr\R                  SS j5       r
\R                  SS j5       r\R                  SS j5       r\R                   SS j5       r\R                  SS j5       r\R                  SS	 j5       r\R                  SS
 j5       r\R                  SS j5       r\R                  SS j5       r\R                  SS j5       r\R                  SS j5       r\R                  S 5       rS rSrg)_Backend   c                    Xl         X l        [        R                  " X45      U l        US:X  a  [        R
                  " U5      U l        g g Nr   )
_n_devicesrankr   TCPStoreProxy_store_proxyTCPStore)self	n_devicesr   hostports        Q/home/wildlama/miniconda3/lib/python3.13/site-packages/cupyx/distributed/_comm.py__init___Backend.__init__
   s;    #	"00<19 //)4DK     Nc                    g N )r   in_array	out_arrayopstreams        r   
all_reduce_Backend.all_reduce       r   c                    g r   r   )r   r   r   rootr   r   s         r   reduce_Backend.reduce   r    r   c                    g r   r   )r   in_out_arrayr"   r   s       r   	broadcast_Backend.broadcast   r    r   c                    g r   r   )r   r   r   countr   r   s         r   reduce_scatter_Backend.reduce_scatter   s     	r   c                    g r   r   )r   r   r   r*   r   s        r   
all_gather_Backend.all_gather#   r    r   c                    g r   r   )r   arraypeerr   s       r   send_Backend.send'   r    r   c                    g r   r   )r   r   r2   r   s       r   recv_Backend.recv+   r    r   c                    g r   r   )r   r   r   r2   r   s        r   	send_recv_Backend.send_recv/   r    r   c                    g r   r   r   r   r   r"   r   s        r   scatter_Backend.scatter3   r    r   c                    g r   r   r<   s        r   gather_Backend.gather7   r    r   c                    g r   r   )r   r   r   r   s       r   
all_to_all_Backend.all_to_all;   r    r   c                    g r   r   r   s    r   barrier_Backend.barrier?   r    r   c                Z    U R                   S:X  a  U R                  R                  5         g g r	   )r   r   stoprF   s    r   rJ   _Backend.stopC   s"    99>KK r   )r
   r   r   r   )sumN)r   rL   N)r   Nr   )__name__
__module____qualname____firstlineno__r   _DEFAULT_HOST_DEFAULT_PORTr   abcabstractmethodr   r#   r'   r+   r.   r3   r6   r9   r=   r@   rC   rG   rJ   __static_attributes__r   r   r   r   r      sZ    **1E1E5 	  	  	  	?C  	  	  	  	  	  	  	  	 r   r   )
__future__r   rS   cupyx.distributedr   ABCr   r   r   r   <module>rY      s    " 
 $=sww =r   