
    pi3	                         d dl  d dlZd dlmc mZ d dlmZ d dlmZ d dlmZ d dl m	Z	 dZ
d Zd ZeegZd	ee
   d
edefdZy)    )*N)Tensor)Future)RRef)Tuplec                     | j                   | j                  | j                  g|}i |}t        j                  | j                   j                         t        ||      S N)module_rrefdeviceis_device_map_setrpc	rpc_asyncowner_remote_forward)selfargskwargss      1/tmp/tmpz557j0ng/_remote_module_non_scriptable.pyforward_asyncr      sX    dkk4+A+AIDIDZF== 	     c                     | j                   | j                  | j                  g|}i |}t        j                  | j                   j                         t        ||      }|j                         S r	   )r
   r   r   r   r   r   r   wait)r   r   r   ret_futs       r   forwardr      sc    dkk4+A+AIDIDZFmm 	G <<>r   r
   r   r   c                 6   | j                         }t        j                  |      }|j                  dk7  r |j                  |i |S g |}d}|D ],  }t        |t              r|j                  |      fn|f}||z   }. i |}|j                         D ]-  \  }}	t        |	t              s||   j                  |      ||<   / |r |j                  |i |S d}
 |j                  |i |D ]+  }t        |t              r|j                         fn|f}|
|z   }
- |
S )Ncuda )
local_valuetorchr   typer   
isinstancer   toitemscpu)r
   r   r   r   r   moduleout_argsargkvretis               r   r   r   -   s%   $$&F\\&!F{{fv~~t.v.. T8DH#-c6#:svvf~c>  ZF1a q	V,F1I  v~~x2622 CV^^X00$Q/QUUWJaTAg 1 Jr   )typingr   torch.distributed.rpcdistributedr   r   torch._jit_internalr   r   r   module_interface_clsr   r   _generated_methodsstrboolr   r   r   r   <module>r4      sb      # #  & &   	  $*+$58$MQ$r   