+
    –°³jv  ã                  ó~   € ^ RI Ht ^ RIHt ^ RIHt ^RIHt ]'       d   ^ RIH	t	 ^RIH
t
Ht ^RIHtHt R R	 ltR
# )é    )Úannotations)ÚTYPE_CHECKING)Útrace_structured)Úestimate_peak_memory_allocfree)Ú
OrderedSet)ÚFreeableInputBufferÚSNodeMemory)ÚBaseSchedulerNodeÚSchedulerBufferc               óH   € V ^8„  d   QhRRRRRRRRRR	R
RRRRRRRRRRRRR/# )é   Ú	candidater
   Úgnszlist[BaseSchedulerNode]Úgroup_namesÚstrÚsnodesÚname_to_freeable_input_bufzdict[str, FreeableInputBuffer]Úgraph_outputszOrderedSet[str]Úpeak_memoryÚintÚiter_curr_memoryz(dict[BaseSchedulerNode, tuple[int, int]]Úsnodes_allocfreez$dict[BaseSchedulerNode, SNodeMemory]Útlparse_nameÚgn_to_bufs_last_usezDdict[BaseSchedulerNode, list[FreeableInputBuffer | SchedulerBuffer]]ÚreturnÚbool© )Úformats   "Ú\/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_inductor/comms_debug.pyÚ__annotate__r       sŽ   € ÷ _%ñ _%Ø ð_%à	 ð_%ð ð_%ð $ð	_%ð
 !?ð_%ð #ð_%ð ð_%ð ?ð_%ð ;ð_%ð ð_%ðð_%ð 
ñ_%ó    c                ó,  aa€ R pW€,          p\        W4V4      w  rÞr�\        \        W>4      4      pWp,          pVV ,          pRoWÖ8”  d   RoRpVV8w  d   RoRpV F3  pVV,          pVV,          pVV8w  g   K  RVP                  4        2oRpK5  	  V'       Edõ   SRV P                  4        RV RV R	V RV P	                  4        R
V RV RV RW€,           2,          oRp\        V4       FT  w  pw  ppVV8X  g   K  VV,          pRV RV RV R\        V4       RVP                  4        RVP	                  4        2p M	  Rp\        V4       F}  w  ppVV,          pVV,          pVRV RVP	                  4        RV RVP                  4        RV RV RVP                  4        RV RV RVV,           RV RVV,           2,          pK  	  SV,          oSV,          oSRV
 2,          oSRP                  \        V4       UUu. uFD  w  ppRV RVP	                  4        RVV,           RVV,           RVV,           R VV,           2NKF  	  upp4      ,          oV	 R!2o\        S R"S 24       \        R#V3R$ lV3R% lR&7       V# u uppi )'FÚ zITERATIVE PEAK DOES NOT MATCHTz.ITERATIVE CURR MEMORY CANDIDATE DOES NOT MATCHz(ITERATIVE GN CURR MEMORY DOES NOT MATCH:z
CANDIDATE:z
GROUP:z
PEAK_MEMORY_BEFORE:z
PEAK_MEMORY_AFTER_SWAP:z
CANDIDATE_ITER_CURR_MEMORY:z
CANDIDATE_NEW__CURR_MEMORY:z
CANDIDATE_ITER_ALLOCFREE:z
CANDIDATE_NEW_ALLOCFREE:z

NEW_PEAK:z(BASE:z
) @ SNODE[Ú/z]:Ú z
GROUP_NODE[z] ITER_GNM[z] ESTM_GNM[z] ITER_allocfree:z] ESTM_allocfree:z
GN_TO_BUFS_LAST_USE:z

z
SNODE[z]
z
ITER_cur_mem:z
ESTM_cur_mem:z
ITER_allocfree:z
ESTM_allocfree:Ú_ITERATIVE_RECOMPUTE_ERRORz:
Úartifactc                 ó   <€ R S RR/# )ÚnameÚencodingÚstringr   )Útnames   €r   Ú<lambda>Ú3_debug_iterative_memory_recompute.<locals>.<lambda>j   s   ø€ Ø˜Ø˜Hñ!r!   c                 ó   <€ S # )Nr   )Úlogs   €r   r-   r.   n   s   ø€ ™sr!   )Úmetadata_fnÚ
payload_fn)
r   ÚdictÚzipÚget_nameÚ	debug_strÚ	enumerateÚlenÚjoinÚprintr   )r   r   r   r   r   r   r   r   r   r   r   Úiterative_recompute_errorÚcandidate_allocfreeÚest_peak_memoryÚsnodes_curr_memoryÚ_Úest_curr_memoryÚiter_cmÚnew_cmÚgnÚiter_gnmÚnew_gnmÚpeak_logÚiÚpreÚ_postÚnÚ	group_logr0   r,   s   &&&&&&&&&&&                 @@r   Ú!_debug_iterative_memory_recomputerL      sH  ù€ ð !&ÐØ*Õ5Ðä&Ø°ó	
ñ =€OÐ)9ô
 œ3˜vÓ:Ó;€OØÕ)€GØ˜YÕ'€FØ
€CØÔ$Ø-ˆØ$(Ð!Ø�&ÔØ>ˆØ$(Ð!ÛˆØ# BÕ'ˆØ! "Õ%ˆØ�wÖØ<¸R¿[¹[»]¸OÐLˆCØ(,Ò%ñ ÷ !Ð ØØ˜9×-Ñ-Ó/Ð0Ø�{�mØ# K =Ø'¨Ð'8Ø˜9×.Ñ.Ó0Ð1Ø+¨G¨9Ø+¨F¨8Ø)Ð*=Ð)>Ø(Ð)9Õ)DÐ(EðGõ
	
ˆð ˆÜ(Ð);Ö<‰OˆA‰|��UØ #Ö%Ø˜1•I�à! /Ð!2°&¸¸ð F Ø !˜s !¤C¨£K =°°1·:±:³<°.ÀÀ!Ç+Á+Ã-ÀðRð ñ ñ  =ð ˆ	Ü˜s–^‰EˆAˆrØ'¨Õ+ˆHØ% bÕ)ˆGØØ ˜s " R§\¡\£^Ð$4Ø ˜s +¨b¯k©k«m¨_¸B¸x¸jØ ˜s +¨b¯k©k«m¨_¸B¸w¸iØ ˜sÐ"3Ð4DÀRÕ4HÐ3IØ ˜sÐ"3Ð4DÀRÕ4HÐ3Ið	KõŠIñ $ð 	ˆx�ˆØˆyÕˆØÐ'Ð(;Ð'<Ð=Õ=ˆØˆv�{‰{ô & fÔ-ô	ñ .‘D�A�qð ˜q˜c  Q§[¡[£] OØ%Ð&6°qÕ&9Ð%:Ø% o°aÕ&8Ð%9Ø'Ð(8¸Õ(;Ð'<Ø'Ð(8¸Õ(;Ð'<ó	>ñ .ò	ó
õ 	
ˆð  �.Ð :Ð;ˆÜ���s˜3˜%Ð Ô!ÜØôô #õ	
ð %Ð$ùó+	s   ÈA
JN)Ú
__future__r   Útypingr   Útorch._loggingr   Úmemoryr   Útorch.utils._ordered_setr   r   r	   Ú	schedulerr
   r   rL   r   r!   r   Ú<module>rS      s%   ðÝ "å  å +å 2÷ Ý3ç8ß=÷_%r!   