+
    ˜°³j*  ã                  óÀ   € ^ RI Ht ^ RIt^ RIt^ RIt^ RIHtHt ^ RIt^ RIH	t	 ^ RI
Ht ^ RIHt ]'       d   ^ RIHt  ! R R	4      t ! R
 R4      t ! R R]4      tR# )é    )ÚannotationsN)ÚAnyÚTYPE_CHECKING)ÚTensor)ÚTorchDispatchMode)Ú	tree_iter)Ú_POOL_HANDLEc                  ó2   € ] tR t^tRtR R ltR R ltRtR# )Ú_TrackedTensorInfoc               ó    € V ^8„  d   QhRRRR/# ©é   Útensorr   ÚreturnÚNone© )Úformats   "ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/utils/_cuda_debug.pyÚ__annotate__Ú_TrackedTensorInfo.__annotate__   s   € ÷ 
ñ 
˜vð 
¨$ñ 
ó    c                	ó„  a € ^ RI Hp RP                  \        P                  ! 4       RR 4      S n        V! 4       S n        RS n        VP                  4       S n        VP                  P                  S n        R V 3R llpVP                  4       pVP                  4       S n        \        P                  ! WC4      S n        R# )r   )Úget_cpp_backtraceÚ Nc               ó    € V ^8„  d   QhRRRR/# )r   Ú_z!weakref.ref[torch.UntypedStorage]r   r   r   )r   s   "r   r   Ú1_TrackedTensorInfo.__init__.<locals>.__annotate__&   s   € ÷ 	ñ 	Ð;ð 	Àñ 	r   c                ó†   <€  R P                  \        P                  ! 4       RR 4      Sn        R#   \         d     R# i ; i)r   Néÿÿÿÿ)ÚjoinÚ	tracebackÚformat_stackÚdeletion_traceback_pyÚ	Exception)r   Úselfs   &€r   Ú
on_releaseÚ/_TrackedTensorInfo.__init__.<locals>.on_release&   s;   ø€ ðØ-/¯W©W´Y×5KÒ5KÓ5MÈcÈrÐ5RÓ-S�Ö*øÜô Úðús   ƒ,1 ±A ¿A éýÿÿÿ)Útorch.utilsr   r    r!   r"   Úcreation_traceback_pyÚcreation_traceback_cppr#   Údata_ptrÚdeviceÚindexÚdevice_indexÚuntyped_storageÚ_storage_data_ptrÚweakrefÚref)r%   r   r   r&   Ústorages   f&   r   Ú__init__Ú_TrackedTensorInfo.__init__   s˜   ø€ Ý1à%'§W¡W¬Y×-CÒ-CÓ-EÀcÀrÐ-JÓ%KˆÔ"Ù&7Ó&9ˆÔ#Ø15ˆÔ"ØŸ™Ó)ˆŒØ"ŸM™M×/Ñ/ˆÔ÷	ð 	ð ×(Ñ(Ó*ˆØ!(×!1Ñ!1Ó!3ˆÔÜ:A¿+º+Øó;
ˆŽr   c               ó   € V ^8„  d   QhRR/# )r   r   Úboolr   )r   s   "r   r   r   2   s   € ÷ <ñ <˜$ñ <r   c                	óh   € V P                  4       pVf   R# VP                  4       V P                  8H  # )NF)r2   r,   r1   )r%   r4   s   & r   Úis_aliveÚ_TrackedTensorInfo.is_alive2   s/   € Ø—,‘,“.ˆØŠ?ÙØ×ÑÓ! T×%;Ñ%;Ñ;Ð;r   )r1   r+   r*   r,   r#   r/   r2   N)r2   r*   r+   r#   r,   r/   r1   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú	__slots__r5   r:   Ú__static_attributes__r   r   r   r   r      s   † ð€Iõ
÷*<ñ <r   r   c                  óv   € ] tR t^9tR R ltR R ltR R ltR R ltR	 R
 ltR R lt	R R lt
R R ltRtR# )Ú_CUDAGraphInputLivenessTrackerc               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   Ú+_CUDAGraphInputLivenessTracker.__annotate__:   s   € ÷ ?ñ ?˜$ñ ?r   c                	óN   € / V n         \        4       V n        / V n        R V n        R # ©N)Ú_external_inputsÚsetÚ_internal_outputsÚ_memory_snapshotsÚ_dispatch_mode©r%   s   &r   r5   Ú'_CUDAGraphInputLivenessTracker.__init__:   s$   € Ø?AˆÔÜ+.«5ˆÔØKMˆÔØ:>ˆÖr   c               ó   € V ^8„  d   QhRR/# rE   r   )r   s   "r   r   rF   @   s   € ÷ (ñ (�tñ (r   c                	óZ   € \        V 4      V n        V P                  P                  4        R # rH   )Ú_TensorTrackingModerM   Ú	__enter__rN   s   &r   ÚstartÚ$_CUDAGraphInputLivenessTracker.start@   s!   € Ü1°$Ó7ˆÔØ×Ñ×%Ñ%Ö'r   c               ó   € V ^8„  d   QhRR/# rE   r   )r   s   "r   r   rF   D   s   € ÷ ,ñ ,�dñ ,r   c                	ór   € V P                   e)   V P                   R uqn         VP                  R R R 4       R # R # rH   )rM   Ú__exit__)r%   Úmodes   & r   ÚstopÚ#_CUDAGraphInputLivenessTracker.stopD   s6   € Ø×ÑÒ*Ø(,×(;Ñ(;¸TÐ%ˆDÔ%Ø�M‰M˜$  dÖ+ñ +r   c               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   rF   I   s   € ÷ Iñ I¨6ð I°dñ Ir   c                	óž   € VP                  4       pW P                  9  d-   W P                  9  d   \        V4      V P                  V&   R # R # R # rH   )r,   rK   rI   r   ©r%   r   r,   s   && r   Útrack_external_inputÚ3_CUDAGraphInputLivenessTracker.track_external_inputI   sE   € Ø—?‘?Ó$ˆà×2Ñ2Ô2Ø× 5Ñ 5Ô5ä.@ÀÓ.HˆD×!Ñ! (Ó+ñ 6ñ 3r   c               ó    € V ^8„  d   QhRRRR/# r   r   )r   s   "r   r   rF   Q   s   € ÷ 1ñ 1¨6ð 1°dñ 1r   c                	ó€   € VP                  4       pW P                  9  d   V P                  P                  V4       R # R # rH   )r,   rI   rK   Úaddr^   s   && r   Úmark_internal_outputÚ3_CUDAGraphInputLivenessTracker.mark_internal_outputQ   s3   € Ø—?‘?Ó$ˆØ×0Ñ0Ô0Ø×"Ñ"×&Ñ& xÖ0ñ 1r   c               ó    € V ^8„  d   QhRRRR/# )r   Úcapture_poolszlist[_POOL_HANDLE]r   r   r   )r   s   "r   r   rF   V   s   € ÷ +ñ +Ð);ð +Àñ +r   c           
     	óÀ  a a€ S P                   P                  4        Uau. uFa  oSP                  4       '       d   K  \        ;QJ d     VV 3R  lV 4       F  '       g   K   RM	  RM! VV 3R  lV 4       4      '       d   K_  SNKc  	  ppV'       g   R# R R lpR\	        V4       R2.p\        VR,          ^4       F�  w  opVP                  R	S R
VP                  R R24       VP                  V! RVP                  4      4       VP                  V! RVP                  4      4       VP                  V! RVP                  4      4       K‘  	  \	        V4      ^8”  d&   VP                  R\	        V4      ^,
           R24       VP                  V! RRP                  \        P                  ! 4       RR 4      4      4       \        RP                  V4      4      hu upi )c              3  óH   <"  € T F  pSP                  SV4      x € K  	  R # 5irH   )Ú_is_tensor_from_capture_pool)Ú.0ÚpoolÚir%   s   & €€r   Ú	<genexpr>Ú=_CUDAGraphInputLivenessTracker.check_alive.<locals>.<genexpr>[   s$   øé € ð ÙGT¸t�×1Ñ1°!°T×:Ð:Ã}ùs   ƒ"TFNc               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚlabelÚstrÚtbz
str | Noner   r   )r   s   "r   r   Ú@_CUDAGraphInputLivenessTracker.check_alive.<locals>.__annotate__b   s&   € ÷ 	Xñ 	X�sð 	X 
ð 	X¨sñ 	Xr   c                ón   € V'       d-   R V  R\         P                  ! VP                  4       R4       R2# R# )z  z:
z    Ú
r   )ÚtextwrapÚindentÚstrip)rq   rs   s   &&r   ÚfmtÚ7_CUDAGraphInputLivenessTracker.check_alive.<locals>.fmtb   s1   € ßMO�R˜�w˜c¤(§/¢/°"·(±(³*¸fÓ"EÐ!FÀbÐIÐWÐUWÐWr   zCUDA graph replay detected z dead tensor(s).
:Né   NzDead tensor #z (data_ptr=z#xz):
zCreation Traceback (Python)zCreation Traceback (C++)zDeletion Traceback (Python)z
  ... and z more
zReplay Traceback (Python)r   éþÿÿÿ)rI   Úvaluesr:   ÚanyÚlenÚ	enumerateÚappendr,   r*   r+   r#   r    r!   r"   ÚRuntimeError)r%   rg   rm   Údeadrz   ÚpartsÚinfos   f&`    r   Úcheck_aliveÚ*_CUDAGraphInputLivenessTracker.check_aliveV   s“  ù€ ð ×*Ñ*×1Ñ1Ô3ô
á3�Ø—:‘:—<ô ÷ “Cõ ÙGTó—C—C’Cõ ÙGTó÷ ÷ ˆAÙ3ð 	ð 
÷ Ùõ	Xð /¬s°4«y¨kÐ9KÐLÐMˆÜ   b¥¨1Ö-‰GˆAˆtØ�L‰L˜=¨¨¨;°t·}±}ÀRÐ6HÈÐMÔNØ�L‰L™Ð:¸D×<VÑ<VÓWÔXØ�L‰L™Ð7¸×9TÑ9TÓUÔVØ�L‰L™Ð:¸D×<VÑ<VÓWÖXñ	 .ô
 ˆt‹9�qŒ=Ø�L‰L˜:¤c¨$£i°!¥m _°GÐ<Ô=Ø�‰ÙÐ+¨R¯W©W´Y×5KÒ5KÓ5MÈcÈrÐ5RÓ-SÓTô	
ô ˜2Ÿ7™7 5›>Ó*Ð*ùò3
s    G½
GÁGÁ GÂGc               ó    € V ^8„  d   QhRRRR/# )r   Úcapture_poolr	   r   zlist[dict[str, Any]]r   )r   s   "r   r   rF   r   s   € ÷ 4ñ 4°ð 4ÐBVñ 4r   c                	ó¸   € WP                   9  d9   \        P                  P                  P	                  VR R7      V P                   V&   V P                   V,          # )F)Úinclude_traces)rL   ÚtorchÚcudaÚmemoryÚmemory_snapshot)r%   rŠ   s   &&r   Ú_get_memory_snapshotÚ3_CUDAGraphInputLivenessTracker._get_memory_snapshotr   sQ   € Ø×5Ñ5Ô5Ü38·:±:×3DÑ3D×3TÑ3TØ¨Uð 4Uó 4ˆD×"Ñ" <Ñ0ð ×%Ñ% lÕ3Ð3r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   rŠ   r	   r   r8   r   )r   s   "r   r   rF   y   s$   € ÷ ñ Ø(ðØ8Dðà	ñr   c                	ó*  € VP                   pVf   R# VP                  pV P                  V4       F_  pVR,          V8w  d   K  VR,           F?  pVR,          pYtu;8:  d   WvR,          ,           8  g   K)  M K-  RVR,          9   g   K=    R# 	  Ka  	  R# )	NFr-   ÚblocksÚaddressÚsizeÚactiveÚstateT)r/   r,   r‘   )r%   r   rŠ   r-   Ú
tensor_ptrÚmeminfoÚblockÚaddrs   &&&     r   rj   Ú;_CUDAGraphInputLivenessTracker._is_tensor_from_capture_pooly   sŠ   € ð ×$Ñ$ˆØŠ>ÙØ—_‘_ˆ
Ø×0Ñ0°Ö>ˆGØ�xÕ  FÔ*ÙØ  ×*Ð*�Ø˜YÕ'�àÖ=¨°fµÕ)=×=Ò=Ø  E¨'¥NÖ2ãó +ñ ?ñ r   )rM   rI   rK   rL   N)r<   r=   r>   r?   r5   rT   rZ   r_   rd   r‡   r‘   rj   rA   r   r   r   rC   rC   9   s0   † õ?õ(õ,õ
Iõ1õ
+õ84÷ñ r   rC   c                  óZ   € ] tR t^�tRtR R ltR R ltRR R lltR	 R
 ltR R lt	Rt
R# )rR   Tc               ó    € V ^8„  d   QhRRRR/# )r   ÚtrackerrC   r   r   r   )r   s   "r   r   Ú _TensorTrackingMode.__annotate__�   s   € ÷  ñ  Ð >ð  À4ñ  r   c                	ó   € Wn         R # rH   ©Ú_tracker)r%   r¡   s   &&r   r5   Ú_TensorTrackingMode.__init__�   s   € ØŽr   c               ó    € V ^8„  d   QhRRRR/# )r   r~   Úobjectr   r8   r   )r   s   "r   r   r¢   —   s   € ÷ ñ °ð ¸Dñ r   c                	ó„   € \        V4       F0  p\        V\        4      '       g   K  VP                  '       g   K/   R # 	  R# )TF)r   Ú
isinstancer   Úis_cuda©r%   r~   Úvs   && r   Ú_selects_cuda_dispatch_keyÚ._TensorTrackingMode._selects_cuda_dispatch_key—   s.   € Ü˜6Ö"ˆAÜ˜!œV×$Ô$¨¯¯ªÚñ #ñ r   Nc          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r   Úfuncr¨   ÚtypesÚargsztuple[object, ...]Úkwargszdict[str, object] | Noner   r   )r   s   "r   r   r¢   �   s<   € ÷ ñ àðð ðð !ð	ð
 )ðð 
ñr   c                	ó  € T;'       g    / pW4.p\         P                  P                  4       '       dD   V P                  V4      '       d-   V! V/ VB pV P	                  V4       V P                  V4       V# V! V/ VB pV# rH   )r�   rŽ   Úis_current_stream_capturingr®   Ú_track_inputsÚ_mark_outputs)r%   r±   r²   r³   r´   ÚinputsÚouts   &&&&&  r   Ú__torch_dispatch__Ú&_TensorTrackingMode.__torch_dispatch__�   sˆ   € ð —�˜2ˆØ�ˆÜ�:‰:×1Ñ1×3Ò3¸×8WÑ8WØ÷9
ò 9
ñ ˜Ð' Ñ'ˆCØ×Ñ˜vÔ&Ø×Ñ˜sÔ#ð ˆ
ñ ˜Ð' Ñ'ˆCØˆ
r   c               ó    € V ^8„  d   QhRRRR/# ©r   r~   r¨   r   r   r   )r   s   "r   r   r¢   °   s   € ÷ 6ñ 6 Fð 6¨tñ 6r   c                	ó  € \        V4       Fu  p\        V\        4      '       d   VP                  4       ^ 8X  d   K0  VP                  '       g   VP                  4       '       g   KZ  V P                  P                  V4       Kw  	  R# )r   N)r   rª   r   r,   r«   Ú	is_pinnedr¥   r_   r¬   s   && r   r·   Ú!_TensorTrackingMode._track_inputs°   sS   € Ü˜6Ö"ˆAÜ˜a¤×(Ò(¨A¯J©J«L¸AÔ,=ÙØ�y�yˆy˜AŸK™KŸMœMØ—‘×2Ñ2°1Ö5ó	 #r   c               ó    € V ^8„  d   QhRRRR/# r¾   r   )r   s   "r   r   r¢   ·   s   € ÷ 6ñ 6 Fð 6¨tñ 6r   c                	ó¸   € \        V4       FJ  p\        V\        4      '       g   K  VP                  '       g   K/  V P                  P                  V4       KL  	  R # rH   )r   rª   r   r«   r¥   rd   r¬   s   && r   r¸   Ú!_TensorTrackingMode._mark_outputs·   s8   € Ü˜6Ö"ˆAÜ˜!œV×$Ô$¨¯¯ªØ—‘×2Ñ2°1Ö5ó #r   r¤   )r   N)r<   r=   r>   r?   Úsupports_higher_order_operatorsr5   r®   r»   r·   r¸   rA   r   r   r   rR   rR   �   s&   † Ø&*Ð#õ õ÷õ&6÷6ñ 6r   rR   )Ú
__future__r   rw   r!   r2   Útypingr   r   r�   r   Útorch.utils._python_dispatchr   Útorch.utils._pytreer   Ú
torch.cudar	   r   rC   rR   r   r   r   Ú<module>rË      sM   ðÝ "ã Û Û ß %ã Ý Ý :Ý )÷ Ý'÷$<ñ $<÷NQñ Qôh-6Ð+ö -6r   