Ë
    ýÑPh4  ã                   ó`   — d dl mZ d dlmZ d dlmZmZmZmZ d dl	m
Z
 d dlmZ  G d„ d«      Zy)	é    )ÚCallable)Úfx)Úcomm_fusion_with_concatÚenable_graph_optimization_dumpÚremove_copy_from_optimizerÚschedule_comm_wait)Údump_graphs_to_files)ÚIterGraphModulec            	       óR   — e Zd Zddddœdedededdfd„Zd	ej                  defd
„Zy)ÚGraphModuleTransformationF©Úenable_graph_optimizationÚenable_inductorÚdump_graphsr   r   r   ÚreturnNc                ó.   — || _         || _        || _        y )Nr   )Úselfr   r   r   s       útC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\torch/distributed/_spmd/gm_transformation.pyÚ__init__z"GraphModuleTransformation.__init__   s   € ð *CˆÔ&Ø.ˆÔØ&ˆÕó    Úgmc                 óä  — | j                   r't        d|j                  d«      i«      }t        |«       t	        || j
                  ¬«      }| j                  r"t        |d«       t        |«       t        |«       |j                  «        | j                   r[t        |j                  j                  d«      |j                  j                  d«      |j                  j                  d«      dœ«       |S )NÚbefore_transformation_gmF)r   éd   )Úiter_graph_setup_gmÚiter_graph_main_gmÚiter_graph_cleanup_gm)r   r	   Úprint_readabler   r
   r   r   r   r   r   Úfinalize_setupÚsetup_gmÚmain_gmÚ
cleanup_gm)r   r   Úgraph_folderÚiter_gms       r   Ú__call__z"GraphModuleTransformation.__call__   sÏ   € Ø×ÒÜ/Ø+¨R×->Ñ->¸uÓ-EÐFóˆLô +¨<Ô8ä! "°d×6JÑ6JÔKˆØ×)Ò)Ü# G¨SÔ1Ü˜wÔ'Ü& wÔ/à×ÑÔ à×ÒÜ à+2×+;Ñ+;×+JÑ+JÈ5Ó+QØ*1¯/©/×*HÑ*HÈÓ*OØ-4×-?Ñ-?×-NÑ-NÈuÓ-Uñð
 ôð ˆr   )	Ú__name__Ú
__module__Ú__qualname__Úboolr   r   ÚGraphModuler   r%   © r   r   r   r      sQ   „ ð +0Ø %Ø!ò	'ð $(ð	'ð ð		'ð
 ð	'ð 
ó	'ð˜2Ÿ>™>ð ¨hô r   r   N)Útypingr   Útorchr   Ú*torch.distributed._spmd.graph_optimizationr   r   r   r   Ú#torch.distributed._spmd.graph_utilsr	   Ú)torch.distributed._spmd.iter_graph_moduler
   r   r+   r   r   Ú<module>r1      s(   ðÝ å ÷ó õ EÝ E÷%ò %r   