ó
    Këgj×  ã                   ó„   • S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	   S SKJ
r
   " S S\5      rg! \\4 a    Sr
 Nf = f)	é    N)Ú
DeviceMesh)Údistribute_module)ÚParallelStyle)Ú	Placement)ÚDTensorc                   ó¦   ^ • \ rS rSrSS.S\S-  4U 4S jjjrS\S\R                  S\	4S	 jr
S\R                  S\	S
\R                  4S jrSrU =r$ )ÚPrepareModuleWeighté   N)Úlayoutsr   c                ó.   >• [         TU ]  5         Xl        g )N)ÚsuperÚ__init__r   )Úselfr   Ú	__class__s     €Ú¢C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\fla/modules/parallel.pyr   ÚPrepareModuleWeight.__init__   s   ø€ Ü‰ÑÔØ�ó    ÚnameÚmoduleÚdevice_meshc           
      óÂ   • UR                  5        HK  u  pE[        R                  " [        R                  " XSU R
                  /SS95      nUR                  XF5        MM     g )NF)Ú	run_check)Únamed_parametersÚnnÚ	Parameterr   Ú
from_localr   Úregister_parameter)r   r   r   r   Úp_nameÚparamÚreplicated_params          r   Ú_replicate_module_fnÚ(PrepareModuleWeight._replicate_module_fn   sQ   € ð $×4Ñ4Ö6‰MˆFÜ!Ÿ|š|Ü×"Ò" 5¸¿¹°~ÐQVÑWó Ðð ×%Ñ% fÖ?ò	 7r   Úreturnc                 ó0   • [        UUU R                  S S S9$ )N)Úpartition_fnÚinput_fnÚ	output_fn)r   r!   )r   r   r   s      r   Ú_applyÚPrepareModuleWeight._apply%   s$   € Ü ØØØ×2Ñ2ØØñ
ð 	
r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ústrr   ÚModuler   r!   r(   Ú__static_attributes__Ú__classcell__)r   s   @r   r	   r	      sl   ø† Ø6:ò  9¨tÑ#3÷ ð ð
@àð
@ð —	‘	ð
@ð  ô	
@ð
˜RŸY™Yð 
°Zð 
ÀBÇIÁI÷ 
ò 
r   r	   )Útorch.nnr   Útorch.distributedr   Útorch.distributed.tensorr   Ú!torch.distributed.tensor.parallelr   Ú(torch.distributed.tensor.placement_typesr   r   ÚImportErrorÚAttributeErrorr	   © r   r   Ú<module>r:      sE   ðõ Ý (Ý 6Ý ;Ý >ðÝ0ô

˜-õ 
øð	 	�^Ð$ó Ø‚Gðús    2 ²
?¾?