+
    –°³jM  ã                   ó  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHu Ht ^ RIHt R.t]P(                  ! ]4      t]! RR.4      t ! R	 R
4      tR R lt ! R R4      tR tRR R lltR# )é    N)Úbisect_left)Údefaultdict)ÚAny)Ú
OrderedSetÚinductor_trace_handlerÚfwdbwdÚac2gc                   ó,   a € ] tR t^t o R tR tRtV tR# )Ú
_EventItemc                óL   € Wn         V P                  4       w  V n        V n        R # ©N)ÚeÚ_interval_ofÚstartÚend)ÚselfÚevents   &&ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_inductor/profiler.pyÚ__init__Ú_EventItem.__init__   s   € ØŒØ#×0Ñ0Ó2ÑˆŒ
�D–Hó    c                ót   € V P                   R ,          pV P                   P                  R^ 4      pWV,           3# )ÚtsÚdur)r   Úget)r   r   Údurations   &  r   r   Ú_EventItem._interval_of    s1   € Ø—‘�t•ˆØ—6‘6—:‘:˜e QÓ'ˆØ˜hÕ&Ð&Ð&r   )r   r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ò3÷'ð 'r   r   c                ó    € V ^8„  d   QhR\         \        \        \        3,          ,          R\         \        \        \        3,          ,          /# )é   ÚeventsÚtop_level_events)ÚlistÚdictÚstrr   )Úformats   "r   Ú__annotate__r.   &   s6   € ÷ *"ñ *"Ü””cœ3�h•Õ ð*"äœ4¤¤S �>Õ*ñ*"r   c           
     óž  € \        \        4      pV F*  pW#R,          ,          P                  \        V4      4       K,  	  V F  p\	        W$,          R R7      W$&   K  	  VP                  4        UUUu/ uF   w  rEYE Uu. uF  q3P                  NK  	  upbK"  	  pppp\        \        4      pV  EF  pVP                  R4      R9  d   K  RVP                  R/ 4      9   d   K5  VP                  R4      pWB9  d   KN  \        V4      pW$,          p\        Wd,          VP                  4      ^,
          p	V	^ 8  g   V	\        V4      8¼  d   K�  WY,          p
V
P                  VP                  8:  g   KÂ  VP                  V
P                  8:  g   Kß  WzP                  R,          ,          P                  VR,          4       EK  	  V# u upi u upppi )	zlFind events covered in top level events.

Returns a dict mapping top-level event uid to covered event uids.
Útidc                 ó   € V P                   # r   )r   ©Úxs   &r   Ú<lambda>Ú)_find_events_covered_in.<locals>.<lambda>2   s   € ÈAÏGÊGr   ©ÚkeyÚcatÚCallFromÚargsÚuid>   Úcpu_opÚ
gpu_memsetÚcuda_driverÚcuda_runtimeÚcuLaunchKernelÚpython_function)r   r*   Úappendr   ÚsortedÚitemsr   r   r   r   Úlenr   r   Úadd)r(   r)   Útop_level_by_tidr   r0   Úevent_itemsÚstarts_by_tidÚtop_level_id_to_eventsÚitemÚidxÚtop_level_items   &&         r   Ú_find_events_covered_inrN   &   s’  € ô #¤4Ó(ÐÛ!ˆØ˜u�Õ&×-Ñ-¬j¸Ó.?Ö@ñ "ãˆÜ &Ð'7Õ'<ÑBSÔ TÐÓñ  ð !1× 6Ñ 6Ô 8õá 8ÑˆCð 	 {Ó3¡{˜e�kŒk¡{Ñ3Ò3Ù 8ð ò ô )¬Ó4ÐäˆØ�9‰9�UÓð $
ô 
ñ Ø˜Ÿ™ 6¨2Ó.Ô.ÙØ�i‰i˜ÓˆØÔ&ÙÜ˜%Ó ˆØ&Õ+ˆÜ˜-Õ,¨d¯j©jÓ9¸AÕ=ˆØ�Œ7�cœS Ó-Ô-ÙØ$Õ)ˆØ×Ñ 4§:¡:Ö-°$·(±(¸n×>PÑ>PÖ2PØ"×#3Ñ#3°EÕ#:Õ;×?Ñ?ÀÀeÅ×Mñ- ð. "Ð!ùò9 4ùôs   Á3GÁ>GÂGÇGc                   óD   a € ] tR t^St o R tR tR tR tR tR t	Rt
V tR# )	Ú_InductorTraceProcessorc                óÒ   € VP                  R 4      '       d!   VR,           Uu/ uF  q"R,          VbK  	  up# / p\        VR,          4       F  w  rBWBR&   W#V&   K  	  RVR &   V# u upi )Úuid_assignedÚtraceEventsr;   T)r   Ú	enumerate)r   Útracer   Úuid_2_eventsr;   s   &&   r   Ú_assign_uniq_id_to_eventÚ0_InductorTraceProcessor._assign_uniq_id_to_eventT   sv   € Ø�9‰9�^×$Ò$Ø5:¸=Ö5IÓJÑ5I¨E˜%•L %Ò'Ñ5IÑJÐJØˆÜ# E¨-Õ$8Ö9‰JˆCØ�%‰LØ %˜Óñ :ð !%ˆˆnÑØÐùò Ks   £A$c                óL  € V'       g   / / 3# / pRpVR,           FÖ  pVP                  R4      \        9  d   VP                  R4      \        9  d   TpK;  VP                  R4      R8X  d8   Vf   KW  VP                  \        VR,          4      RR.4      pVR,          V^ &   MLVP                  R4      R	8X  d7   Vf   K¤  VP                  \        VR,          4      RR.4      pVR,          V^&   TpKØ  	  / p/ pVP	                  4        F  w  ršV	e   V
f   K  W§V	&   W˜V
&   K  	  Wx3# )
z7Build src/dst event mappings from profiler flow events.NrS   Únamer8   ÚphÚsÚidr;   Úf)r   Ú_profile_flow_typesÚ
setdefaultÚintÚvalues)r   rU   Úflow_eventsÚ	flow_pairÚ
prev_eventr   ÚpairÚsrc2dstÚdst2srcÚsrcÚdsts   &&&        r   Ú_build_flow_mappingÚ+_InductorTraceProcessor._build_flow_mapping^   s-  € çØ�r�6ˆMà13ˆ	Øˆ
Ø˜=×)Ð)ˆEà—	‘	˜&Ó!Ô)<Ô<Ø—I‘I˜eÓ$Ô,?Ô?à"�
ÙØ�y‰y˜‹ #Ô%ØÒ%ÙØ ×+Ñ+¬C°°dµÓ,<¸tÀT¸lÓK�Ø$ UÕ+��Q’Ø—‘˜4“ CÔ'ØÒ%ÙØ ×+Ñ+¬C°°dµÓ,<¸tÀT¸lÓK�Ø$ UÕ+��Q‘ØŠJñ# *ð& ˆØˆØ!×(Ñ(Ö*‰HˆCØŠ{˜cškÙØ�C‰LØ�C‹Lñ	 +ð
 ÐÐr   c                ó$   € VP                  R 4      # )Útriton_©Ú
startswith)r   Úkernel_names   &&r   Ú_maybe_triton_callÚ*_InductorTraceProcessor._maybe_triton_call�   s   € Ø×%Ñ% iÓ0Ð0r   c                ó¾   a€ VP                  V/ 4      pW49   d   R # VR,           o\        ;QJ d    V3R lV 4       F  '       g   K   R # 	  R# ! V3R lV 4       4      # )TÚ:c              3   óD   <"  € T F  qP                  S4      x € K  	  R # 5ir   ro   )Ú.0rZ   Úkernel_prefixs   & €r   Ú	<genexpr>Ú;_InductorTraceProcessor._has_kernel_info.<locals>.<genexpr>‰   s   øé € ÐI¹j°d—?‘? =×1Ð1»jùs   ƒ F)r   Úany)r   Úcompile_infoÚ	graph_keyrq   Ú
graph_inforx   s   &&&& @r   Ú_has_kernel_infoÚ(_InductorTraceProcessor._has_kernel_info„   sQ   ø€ Ø!×%Ñ% i°Ó4ˆ
ØÔ$ÙØ# cÕ)ˆß‹sÔI¹jÓI�sŒsÐIŠsÐIˆsÔI¹jÓIÓIÐIr   c                óô   a aa€ VR ,          oS P                  SVS4      '       * ;'       dN    V'       * ;'       g?    \        ;QJ d!    VVV 3R lV 4       F  '       d   K   R# 	  R# ! VVV 3R lV 4       4      # )rZ   c              3   óT   <"  € T F  pSP                  SVS4      '       * x € K  	  R # 5ir   )r   )rw   Úbw_keyr|   rq   r   s   & €€€r   ry   Ú=_InductorTraceProcessor._maybe_extern_call.<locals>.<genexpr>�   s-   øé € ð á%�Fð ×)Ñ)¨,¸ÀÓL×LÑLÛ%ùs   ƒ%(FT)r   Úall)r   r   r|   Úfwd_keyÚbw_keysÚneed_bwrq   s   f&f&&&@r   Ú_maybe_extern_callÚ*_InductorTraceProcessor._maybe_extern_call‹   sw   ú€ Ø˜F•mˆØ×(Ñ(¨°wÀÓLÔL÷ 
ð 
ØŒK÷ ð ß‹sö á%ó�sŒsð	
âð	
àö á%óó ð	
r   c                óD  a$a%a&a'a(a)a*a+a,a-a.€ ^ RI Hp V! 4       o(S('       g   V# TpV P                  V4      o.. p. p. p. pVR,           F´  pVP                  RR4      p	VP                  RR4      p
V	\        9   g   V
\        9   d   VP                  V4       KP  VP                  V4       V
R8X  d    V	R8X  g   RV	9   d   VP                  V4       V	'       g   K‘  R	V	9   g   Kš  V
R9   g   K£  VP                  V4       K¶  	  \        VR
 R7      pV Uu. uF  p\        V4      NK  	  upo)S) Uu. uF  q»P                  NK  	  upo*\        WF4      p\        WG4      pV P                  W54      w  o-o+\        \        4      o,V Fa  pVP                  R4      R8w  d   K  VP                  R/ 4      P                  R4      pVf   KB  S,V,          P                  VR,          4       Kc  	  V)V*V+V.3R lpR o$V$3R lpR o'V'3R lo&V'3R lo%V&3R lpV%3R lpV,V-V.3R lpR pVP                  4        EFÓ  w  ppS.V,          pVR,          pRV9   pV'       d    V! V4      R,          p\        VR34      pV! S(V4      pVS(9  dC   \         ;QJ d    V(3R lV 4       F  '       d   K   RM	  RM! V(3R lV 4       4      '       d   K•  V EF7  pV! V4      pV'       g   K  V EF  pRpRp V P#                  VS(VVV4      '       dm   VP                  4        FD  w  p!p"VV"9   g   K  S.V!,          p#V! VS(VVV! V#P                  RR4      4      4      pV'       g   KD   M	  V'       g   V! VS(VV4      pMQV P%                  VP                  RR4      4      '       g   Rp V! VS(VV4      pMV! VS(VVVP                  RR4      4      pV'       d   Kê  V '       g   Kô  \&        P)                  RVP                  RR4      4       EK  	  EK:  	  EKÖ  	  V# u upi u upi   \         d     EKó  i ; i) z8Add Inductor kernel stack information to a Chrome trace.©Úget_kernel_information_jsonsrS   rZ   Ú r8   r<   ÚCompiledFunctionBackwardzTorch-Compiled RegionÚextern_kernelsc                 ó,   € \        V 4      P                  # r   )r   r   r2   s   &r   r4   Ú=_InductorTraceProcessor.add_to_chrome_trace.<locals>.<lambda>»   s   € Ä
È1Ã×@SÒ@Sr   r6   Úkernelr:   úExternal idr;   c                 óX  <€ SSV R ,          ,          ,          p\        V4      p\        SVP                  4      ^,
          pV^ 8¼  dW   SV,          pVP                  VP                  8”  d(   VP                  VP                  8  d   VP                  # V^,          pK]  \        RV  24      h)r;   zCannot find compile region for )r   r   r   r   r   Ú
ValueError)	Úcompile_eventÚ	src_eventÚsrc_itemrL   Úregion_itemÚcompiled_event_itemsÚcompiled_event_startsrh   rV   s	   &    €€€€r   Ú_related_compile_regionÚL_InductorTraceProcessor.add_to_chrome_trace.<locals>._related_compile_regionÉ   s’   ø€ Ø$ W¨]¸5Õ-AÕ%BÕCˆIÜ! )Ó,ˆHÜÐ3°X·^±^ÓDÀqÕHˆCð ˜”(Ø2°3Õ7�à—N‘N [×%6Ñ%6Ô6Ø Ÿ™ {§¡Ô6à&Ÿ=™=Ð(Ø�q•’ÜÐ>¸}¸oÐNÓOÐOr   c                 ó(  €  \         P                  ! V 4      p\	        T\
        4      '       dK   \        T4      ^8w  g;   \	        T^ ,          \        4      '       d   \	        T^,          \        4      '       g   R # T#   \        \        3 d     R # i ; ir   )	ÚastÚliteral_evalÚSyntaxErrorr–   Ú
isinstanceÚtuplerE   r,   Úbool)r7   Ú
parsed_keys   & r   Ú_parse_compile_region_keyÚN_InductorTraceProcessor.add_to_chrome_trace.<locals>._parse_compile_region_keyÙ   sv   € ðÜ ×-Ò-¨cÓ2�
ô ˜z¬5×1Ò1Ü�z“? aÔ'Ü! *¨Q¥-´×5Ò5Ü! *¨Q¥-´×6Ò6áØÐøô  ¤Ð,ô Úðús   ‚A< Á<BÂBc                 ó  <€ \        VR 34      pV.pW 9   d   V# VR,           pV P                  4        FU  w  rVV'       g   K  S
! V4      pVf   K  Vw  r‰V	'       g   K+  VP                  V4      '       g   KD  VP                  V4       KW  	  V# )TÚ_)r,   rD   rp   rB   )r|   Úcompile_nameÚbw_graph_keyÚkeysÚprefixr7   Úinfor¦   Ú
graph_nameÚis_backwardr§   s   &&        €r   Ú_backward_graph_keysÚI_InductorTraceProcessor.add_to_chrome_trace.<locals>._backward_graph_keysç   sŒ   ø€ Ü ¨dÐ3Ó4ˆLØ �>ˆDØÔ+Ø�à! CÕ'ˆFØ)×/Ñ/Ö1‘	�ßÙÙ6°sÓ;�
ØÒ%ÙØ*4Ñ'�
ß‘; :×#8Ñ#8¸×#@Ô#@Ø—K‘K Ö$ñ 2ð ˆKr   c                 óT   € \        V \        4      '       d   V P                  R 4      # V # )Ústack_traces)r£   r+   r   )Úkernel_infos   &r   Ú_stack_from_kernel_infoÚL_InductorTraceProcessor.add_to_chrome_trace.<locals>._stack_from_kernel_infoù   s$   € Ü˜+¤t×,Ò,Ø"—‘ ~Ó6Ð6ØÐr   c                 óÜ   <€ V P                  V/ 4      pVP                  V4      pVf>   VR,           pVP                  4        F   w  rgVP                  V4      '       g   K  Tp M	  S! V4      # )Nru   )r   rD   rp   )	r|   r}   rq   r~   r¶   rx   rZ   r¯   r·   s	   &&&     €r   Ú_stack_for_kernelÚF_InductorTraceProcessor.add_to_chrome_trace.<locals>._stack_for_kernelþ   sl   ø€ Ø%×)Ñ)¨)°RÓ8ˆJØ$Ÿ.™.¨Ó5ˆKØÒ"Ø +¨cÕ 1�Ø",×"2Ñ"2Ö"4‘J�DØ—‘ }×5Ô5Ø&*˜Ùñ #5ñ +¨;Ó7Ð7r   c                 óÂ   <€ V3R  lV P                  V/ 4      P                  4        4        Uu. uF  pVf   K	  VNK  	  pp\        V4      ^8X  d
   V^ ,          # R# u upi )c              3   ó4   <"  € T F  pS! V4      x € K  	  R # 5ir   © )rw   r¶   r·   s   & €r   ry   Ú__InductorTraceProcessor.add_to_chrome_trace.<locals>._single_stack_for_graph.<locals>.<genexpr>  s    øé € ð á'O˜ñ ,¨K×8Ð8Û'Oùs   ƒN)r   rb   rE   )r|   r}   ÚstackÚstacksr·   s   &&  €r   Ú_single_stack_for_graphÚL_InductorTraceProcessor.add_to_chrome_trace.<locals>._single_stack_for_graph	  sn   ø€ ôà'3×'7Ñ'7¸	À2Ó'F×'MÑ'MÔ'Oôóñ�Eð ÷ �ñð ð ô �6‹{˜aÔØ˜a•yÐ Ùùòs
   ®A¹Ac                 ó¨   <€ V F'  pS! WV4      pVf   K  W`P                  R/ 4      R&    R# 	  S! WV4      pVe   W`P                  R/ 4      R&   R# R# ©Nr:   rÀ   TF©r`   )r   r|   r†   r‡   rq   rƒ   rÀ   rº   s   &&&&&  €r   Ú_assign_stackÚB_InductorTraceProcessor.add_to_chrome_trace.<locals>._assign_stack  sf   ø€ Û!�Ù)¨,ÀÓL�ØÔ$Ø<A×$Ñ$ V¨RÓ0°Ñ9Úñ	 "ñ
 & l¸[ÓIˆEØÒ Ø8=× Ñ  ¨Ó,¨WÑ5ÙÙr   c                 ó¤   <€ V F&  pS! W4      pVf   K  WPP                  R/ 4      R&    R# 	  S! W4      pVe   WPP                  R/ 4      R&   R# R# rÅ   rÆ   )r   r|   r†   r‡   rƒ   rÀ   rÂ   s   &&&&  €r   Ú_assign_single_stackÚI_InductorTraceProcessor.add_to_chrome_trace.<locals>._assign_single_stack"  sb   ø€ Û!�Ù/°ÓE�ØÔ$Ø<A×$Ñ$ V¨RÓ0°Ñ9Úñ	 "ñ
 ,¨LÓBˆEØÒ Ø8=× Ñ  ¨Ó,¨WÑ5ÙÙr   c                 óì   <€ V S9   d   SSV ,          ,          .# SV ,          P                  R / 4      P                  R4      pVf   . # SP                  V. 4       Uu. uF  pSV,          NK  	  up# u upi )r:   r”   )r   )Úop_idÚexternal_idÚ
kernel_uidÚkernel_uids_by_external_idrg   rV   s   &  €€€r   Ú_kernel_events_for_opÚJ_InductorTraceProcessor.add_to_chrome_trace.<locals>._kernel_events_for_op.  s†   ø€ Ø˜ÔØ$ W¨U¥^Õ4Ð5Ð5Ø& uÕ-×1Ñ1°&¸"Ó=×AÑAÀ-ÓPˆKØÒ"Ø�	ð #=×"@Ñ"@ÀÈbÔ"Qóá"Q�Jð ˜Z×(Ð(Ù"Qñð ùò s   ÁA1c                 óf   € \         P                  ! R V 4      pV'       d   VP                  ^4      # T # )z\b(extern\w+)\s*,)ÚreÚsearchÚgroup)rZ   Úmatchs   & r   Ú_extern_kernel_nameÚH_InductorTraceProcessor.add_to_chrome_trace.<locals>._extern_kernel_name9  s(   € Ü—I’IÐ2°DÓ9ˆEß%*�5—;‘;˜q“>Ð4°Ð4r   ÚBackwardFc              3   ó,   <"  € T F	  qS9  x € K  	  R # 5ir   r¾   )rw   r¬   Úcompile_linenoss   & €r   ry   Ú>_InductorTraceProcessor.add_to_chrome_trace.<locals>.<genexpr>J  s   øé € ð ;ÙHU¸ OÖ3Ëùs   ƒTzgKernel %s cannot be recognized as a custom kernel or triton kernel. Please try profile with stack=True.)r<   rA   )Útorch._inductor.debugr�   rW   r   r_   rB   rC   r   r   rN   rk   r   r*   rD   r–   r,   r…   r‰   rr   ÚlogÚwarning)/r   Úorigin_tracer�   rU   Úreal_eventsrc   Úcompiled_eventsÚextern_eventsr   rZ   r8   rK   Úops_in_compile_regionÚops_in_extern_regionrÎ   r�   r²   rÇ   rÊ   rÑ   rØ   Úcompile_func_idÚ
scoped_opsr—   r«   rˆ   Úfw_graph_keyÚbw_graph_keysrÍ   Úkernel_eventsÚkernel_eventÚassigned_stackÚwarn_if_unrecognizedÚextern_callÚrelated_opsÚextern_eventr§   rÂ   rº   r·   rÜ   r›   rœ   rh   rÐ   rg   rV   s/   &&                                  @@@@@@@@@@@r   Úadd_to_chrome_traceÚ+_InductorTraceProcessor.add_to_chrome_trace•   s0  ÿú€ åFá6Ó8ˆßØÐàˆØ×4Ñ4°UÓ;ˆàˆØˆØˆØˆØ˜=×)Ð)ˆEØ—9‘9˜V RÓ(ˆDØ—)‘)˜E 2Ó&ˆCØÔ*Ô*¨cÔ5HÔ.HØ×"Ñ" 5Ô)Ùà×Ñ˜uÔ%Ø�hŒØÐ2Ô2Ð6MÐQUÔ6Uà×&Ñ& uÔ-ç‘Ø$¨Ö,Øðöð ×$Ñ$ UÖ+ñ+ *ô. ! Ñ6SÔTˆÙ?NÓO¹°e¤
¨5Ö 1¹ÑOÐÙ8LÓ MÑ8L°§¤Ñ8LÑ MÐÜ 7¸Ó UÐÜ6°{ÓRÐØ×3Ñ3°EÓGÑˆ�Ü%0´Ó%6Ð"Û ˆEØ�y‰y˜Ó 8Ô+ÙØŸ)™) F¨BÓ/×3Ñ3°MÓBˆKØÔ&Ø*¨;Õ7×>Ñ>¸uÀU½|ÖLñ !÷	Pð 	Pò 	õ	ò$	õ
		8õ	õ
	õ
	÷		ò	5ð ,A×+FÑ+F×+HÑ'ˆO˜ZØ(¨Õ9ˆMØ(¨Õ0ˆLØ  LÑ0ˆGçðÙ#:¸=Ó#IÈ&Õ#Q�Lô  ¨eÐ4Ó5ˆLÙ0°À,ÓOˆMØ ?Ô2·s³sô ;ÙHUó;·s·s²sô ;ÙHUó;÷ 8ò 8ñ ä#�Ù 5°eÓ <�ß$ÙÜ$1�LØ%*�NØ+0Ð(Ø×.Ñ.Ø$Ø'Ø$Ø%Ø÷ò ð 9M×8RÑ8RÖ8TÑ4˜K¨Ø$¨Ö3Ø/;¸KÕ/H Ù1>Ø$0Ø$3Ø$0Ø$1Ù$7¸×8HÑ8HÈÐQSÓ8TÓ$Uó2" ÷ $2¡>Ù$)ñ 9U÷  .Ù-AØ ,Ø /Ø ,Ø -ó	.˜Nøð "×4Ñ4°\×5EÑ5EÀfÈbÓ5Q×RÒRØ/3Ð,Ù)=Ø(Ø+Ø(Ø)ó	*™ñ *7Ø(Ø+Ø(Ø)Ø(×,Ñ,¨V°RÓ8ó*˜÷ *™>×.BÑ.BÜŸ™ðBà(×,Ñ,¨V°RÓ8÷ô] %2ô	 $ñ% ,IðR ˆùòU  PùÚ MøôP "ô Ûðús   ÄPÄ,P
ÉPÐPÐPr¾   N)r   r   r    r!   rW   rk   rr   r   r‰   rò   r"   r#   r$   s   @r   rP   rP   S   s,   ø‡ € òò! òF1òJò
÷qð qr   rP   c                 óJ  € ^ RI Hp  \        V 4      ;_uu_ 4       p\        P                  ! V4      pRRR4       \        XP                  R. 4      4      p\        P                  P                  pV^ 8”  d6   WE8”  d0   \        P                  RVV4        V! 4       P                  4        R# \        P                  P                  '       g   \        P                  R4       \        P                  '       d.   \        P                  R4        V! 4       P                  4        R#  \        P!                  R4       \#        4       P%                  V4      p\        V R4      ;_uu_ 4       p\        P&                  ! W2^R	7       RRR4       T! 4       P                  4        R#   + '       g   i     ELu; i  + '       g   i     L;; i  \(         d    \        P+                  R
4       h \,         d    \        P/                  R4        L€i ; i  T! 4       P                  4        i ; i)r   rŒ   NrS   zŸSkipping provenance tracking: trace has %d events (exceeds limit of %d). Set TORCH_COMPILE_DEBUG_MAX_EVENTS=0 to disable this protection or increase the limit.zhProfiling trace does not contain Triton kernel stack traces because TORCHINDUCTOR_UNIQUE_KERNEL_NAMES=0.z]Profiling trace does not contain compiled kernel stack traces because cpp_wrapper is enabled.z#Add stack trace to compiled kernel.Úw)ÚindentzuMemoryError during add_to_chrome_trace. Try increasing TORCH_COMPILE_DEBUG_MAX_EVENTS or disable provenance tracking.z,Failed to add stack trace to compiled kernel)rÞ   r�   ÚopenÚjsonÚloadrE   r   Úinductor_configrU   Úprovenance_tracking_max_eventsrß   rà   ÚclearÚtritonÚunique_kernel_namesÚcpp_wrapperr¯   rP   rò   ÚdumpÚMemoryErrorÚerrorÚ	ExceptionÚ	exception)Úpathr�   r^   rU   Ú
num_eventsÚ
max_eventss   &     r   Ú_add_inductor_provenancer  ‰  sŸ  € ÝBð,/ô �$�ZŒZ˜1Ü—I’I˜a“LˆE÷ ô ˜Ÿ™ =°"Ó5Ó6ˆ
Ü$×*Ñ*×IÑIˆ
Ø˜Œ>˜jÔ5Ü�K‰KðDð Øôð ñ6 	%Ó&×,Ñ,Ö.ô3 ×%Ñ%×9×9Ð9Ü�K‰Kð?ôô ×&×&Ð&Ü�K‰Kð2ôð ñ 	%Ó&×,Ñ,Ö.ð	JÜ�H‰HÐ:Ô;Ü+Ó-×AÑAÀ%ÓHˆEÜ�d˜C—” AÜ—	’	˜%¨1Õ-÷ !ñ 	%Ó&×,Ñ,Ö.÷Q �ZˆZú÷: !—ûäô 	Ü�I‰Ið`ôð Üô 	JÜ�M‰MÐHÖIð	Jûñ 	%Ó&×,Ñ,Õ.ús}   ˆH ›F²A!H Â+H Ã*H Ã6H Ä$AG Å&F2Å?G ÆF/	Æ)	H Æ2G	Æ=G ÇH ÇG Ç)HÇ/HÈH ÈHÈH ÈH"c                óV   € V ^8„  d   QhR\         R\         R,          R\        R\        /# )r'   Údir_nameÚworker_nameNÚuse_gzipÚuse_python_export)r,   r¥   )r-   s   "r   r.   r.   »  s:   € ÷ Eñ EÜðEä�t•ðEô ðEô ñ	Er   c                óN   a aaaaaa€ ^ RI o^ RIo^ RIHo R V VVVVVV3R llpV# )z¸
Outputs tracing files with Inductor provenance to dir_name.

Provenance tracking must also be enabled with TORCH_COMPILE_DEBUG_EXTEND=1
or trace.provenance_tracking_to_timeline=True.
N)Úkineto_availablec                ó   € V ^8„  d   QhRR/# )r'   ÚreturnNr¾   )r-   s   "r   r.   Ú,inductor_trace_handler.<locals>.__annotate__Ì  s   € ÷ 2/ñ 2/˜Dñ 2/r   c                 óŒ  <€ \         P                  P                  S4      '       g    \         P                  ! SR R7       S'       g)   SP                  4        R\         P                  ! 4        2oS RSP                  4        R2pS'       d
   VR,           p\         P                  P                  SV4      pS! 4       ;'       d    \        P                  P                  p\        V RR	4      '       d}   \        V R
R4      pVRJ;'       d$    VP                  ;'       d    \        V RR4      RJpV P                  VSR7       V'       d$   V'       d   ^ RIHp V! 4       P%                  4        R# S'       dÆ   \&        P(                  ! RRR7      ;_uu_ 4       pV P                  VP*                  SR7       V'       d   \-        VP*                  4       \/        VP*                  R4      ;_uu_ 4       p	\0        P.                  ! VR4      ;_uu_ 4       p
V
P3                  V	4       RRR4       RRR4       RRR4       R# V P                  VSR7       V'       d   \-        V4       R# R#   \         d   p\        RS,           4      ThRp?ii ; i  + '       g   i     Lr; i  + '       g   i     L}; i  + '       g   i     R# ; i)T)Úexist_okzCan't create directory: Nrª   Ú.z.pt.trace.jsonz.gzÚ_use_cupti_monitorFÚ_cupti_profiler_observerÚ_monitor_window_id)r  rŒ   zw+bz.json)ÚsuffixÚrbÚwb)Úosr  ÚisdirÚmakedirsr  ÚRuntimeErrorÚgethostnameÚgetpidÚtime_nsÚjoinrú   rU   Úprovenance_tracking_to_timelineÚgetattrÚ	availableÚexport_chrome_tracerÞ   r�   rü   ÚtempfileÚNamedTemporaryFilerZ   r  r÷   ÚgzipÚ
writelines)Úprofr   Ú	file_namer  Úprovenance_enabledÚobserverÚhas_monitor_exportr�   ÚfpÚfinÚfoutr
  r  ÚsocketÚtimer  r  r  s   &          €€€€€€€r   Ú
handler_fnÚ*inductor_trace_handler.<locals>.handler_fnÌ  s>  ø€ ä�w‰w�}‰}˜X×&Ò&ðQÜ—’˜H¨tÕ4÷ Ø#×/Ñ/Ó1Ð2°!´B·I²I³K°=ÐAˆKØ"�m 1 T§\¡\£^Ð$4°NÐCˆ	ßØ! EÕ)ˆIÜ�w‰w�|‰|˜H iÓ0ˆáÓ×XÐX¤?×#8Ñ#8×#XÑ#Xð 	ô �4Ð-¨u×5Ò5Ü˜tÐ%?ÀÓFˆHà Ð$÷ Jð JØ×&Ñ&÷Jð Jä˜DÐ"6¸Ó=ÀTÐIð ð
 ×$Ñ$ØØ"3ð %ô ÷ "×&8ÝNá,Ó.×4Ñ4Ô6ÙçÜ×,Ò,¨U¸7×CÕCÀrØ×(Ñ(Ø—G‘GØ&7ð )ô ÷ &Ü,¨R¯W©WÔ5Ü˜"Ÿ'™' 4×(Ô(¨C´·²¸4À×1FÔ1FÈ$Ø—O‘O CÔ(÷ 2G×(÷ DÑCð ×$Ñ$ØØ"3ð %ô ÷ "Ü(¨Ö.ñ "øôY ô QÜ"Ð#=ÀÕ#HÓIÈqÐPûðQú÷J 2G×1Fú×(×(ú÷ D×CÐCúsT   ¨I& ÆAJ2Ç0 J	ÈJÈ"J	È*J2É&J	É1JÊJ	ÊJÊJ	ÊJ/Ê*J2Ê2K	)r4  r5  Útorch.profilerr  )r
  r  r  r  r6  r  r4  r5  s   ffff @@@r   r   r   »  s!   þ€ ó Ûå/÷2/ö 2/ðh Ðr   )NFF)r    r*  rø   Úloggingr  rÔ   r(  Úbisectr   Úcollectionsr   Útypingr   Útorch._inductor.configÚ	_inductorÚconfigrú   Útorch.utils._ordered_setr   Ú__all__Ú	getLoggerr   rß   r_   r   rN   rP   r  r   r¾   r   r   Ú<module>rC     s‡   ðã 
Û Û Û Û 	Û 	Û Ý Ý #Ý ç 0Ð 0Ý /ð $Ð
$€à×Ò˜Ó!€ñ
 ! (¨FÐ!3Ó4Ð ÷'ñ 'õ*"÷Zsñ sòl	//÷dEñ Er   