+
    ˜°³jb  ã                   óÂ   € ^ RI Ht ^ RIHtHt ^ RIt^ RIt^ RIt^ RIH	t	 R R lt
R R ltR	 R
 ltR tR tR^
R^/R R llt]R 4       tR R ltR R ltR R ltR# )é    )Úcontextmanager)ÚAnyÚcastN)ÚTimerc                óF   € V ^8„  d   QhR\         R\        \         ,          /# )é   ÚfilenameÚreturn)ÚstrÚlist)Úformats   "Ú\/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/utils/jit/log_extract.pyÚ__annotate__r   	   s   € ÷ ñ œð ¤¤c¥ñ ó    c           
      ó  € R pRpRp. p\        V 4      ;_uu_ 4       pVP                  4       P                  V4      p\        V4       F�  w  rxV^ 8X  d   K  VP	                  V4      p	V	R8X  d   K(  VRV	 p
Wg^,
          ,          P                  4       R,          pV
P                  RR7       Uu. uF  q»\        V4      R NK  	  ppVP                  RP                  V4      4       KŸ  	  RRR4       V# u upi   + '       g   i     T# ; i)z<GRAPH_EXPORT>z</GRAPH_EXPORT>NT)ÚkeependsÚ éÿÿÿÿ)	ÚopenÚreadÚsplitÚ	enumerateÚfindÚ
splitlinesÚlenÚappendÚjoin)r	   ÚBEGINÚENDÚpfxÚgraphsÚfÚ
split_strsÚiÚ	split_strÚend_locÚsÚxÚliness   &            r   Ú
extract_irr*   	   sì   € Ø€EØ
€CØ
€CØ€FÜ	ˆh�Œ˜1Ø—V‘V“X—^‘^ EÓ*ˆ
Ü% jÖ1‰LˆAØ�AŒvÙØ—n‘n SÓ)ˆGØ˜"Œ}ÙØ˜(˜7Ð#ˆAØ �UÕ#×.Ñ.Ó0°Õ4ˆCØ+,¯<©<À¨<Ô+FÓGÑ+F a”s˜3“x�y“\Ñ+FˆEÐGØ�M‰M˜"Ÿ'™' %›.Ö)ñ 2÷ 
ð €Mùò H÷ 
Žð €Mús   œBC7Â,C2
Ã&C7Ã2C7Ã7D	c                óL   € V ^8„  d   QhR\         P                  P                  /# )r   Úinp_type)ÚtorchÚ_CÚ
TensorType)r   s   "r   r   r      s    € ÷ Uñ U¤E§H¡H×$7Ñ$7ñ Ur   c                 ó*  € V P                  4       pV P                  4       pV P                  4       pV P                  4       pVf   \	        R4      hVf   \	        R4      hVf   \	        R4      hVf   \	        R4      h\
        P                  ! WW4R7      # )NzFmake_tensor_from_type: 'size' is None (inp_type.sizes() returned None)zJmake_tensor_from_type: 'stride' is None (inp_type.strides() returned None)zImake_tensor_from_type: 'device' is None (inp_type.device() returned None)zGmake_tensor_from_type: 'dtype' is None (inp_type.dtype() returned None))ÚsizeÚstrideÚdeviceÚdtype)ÚsizesÚstridesr3   r4   ÚAssertionErrorr-   Úempty_strided)r,   r1   r2   r3   r4   s   &    r   Úmake_tensor_from_typer9      s‹   € Ø�>‰>Ó€DØ×ÑÓ€FØ�_‰_Ó€FØ�N‰NÓ€EØ‚|ÜÐeÓfÐfØ‚~ÜÐiÓjÐjØ‚~ÜÐhÓiÐiØ‚}ÜÐfÓgÐgÜ×Ò DÀÔTÐTr   c                óh   € V ^8„  d   QhR\         R\        \        \        \        ,          3,          /# )r   Úirr
   )r   Útupler   r   )r   s   "r   r   r   -   s'   € ÷ ñ œcð ¤e¬C´´cµ¨NÕ&;ñ r   c                 óº  € \         P                  P                  V R R7      pVP                  4        . pVP	                  4        EFÈ  p\        VP                  4       \         P                  P                  4      '       d)   VP                  \        P                  ! R^d4      4       Kd  \        VP                  4       \         P                  P                  4      '       d)   VP                  \        P                  ! ^^d4      4       KÄ  \        VP                  4       \         P                  P                  4      '       dP   \        \         P                  P                  VP                  4       4      pVP                  \        V4      4       EKK  \        VP                  4       \         P                  P                   4      '       d-   VP                  \        P                  ! ^ ^4      ^8H  4       EK¯  \#        RVP                  4        24      h	  \         P                  P%                  RV4      p\         P                  P'                  VP(                  4       WR3# )T)Úparse_tensor_constantsgš™™™™™¹?z,A default value is not implemented for type Úforward)r-   r.   Úparse_irÚmakeMultiOutputIntoTupleÚinputsÚ
isinstanceÚtypeÚ	FloatTyper   ÚrandomÚuniformÚIntTypeÚrandintr/   r   r9   ÚBoolTypeÚNotImplementedErrorÚ_create_function_from_graphÚ!_jit_pass_erase_shape_informationÚgraph)r;   rN   rB   ÚinpÚ
tensorTypeÚfuncs   &     r   Úload_graph_and_inputsrR   -   s|  € Ü�H‰H×Ñ˜b¸ÐÓ>€EØ	×"Ñ"Ô$Ø€FØ�|‰|�~ˆÜ�c—h‘h“j¤%§(¡(×"4Ñ"4×5Ò5Ø�M‰Mœ&Ÿ.š.¨¨SÓ1Ö2Ü˜Ÿ™›
¤E§H¡H×$4Ñ$4×5Ò5Ø�M‰Mœ&Ÿ.š.¨¨CÓ0Ö1Ü˜Ÿ™›
¤E§H¡H×$7Ñ$7×8Ò8ÜœeŸh™h×1Ñ1°3·8±8³:Ó>ˆJØ�M‰MÔ/°
Ó;×<Ü˜Ÿ™›
¤E§H¡H×$5Ñ$5×6Ò6Ø�M‰Mœ&Ÿ.š.¨¨AÓ.°!Ñ3×4ä%Ð(TÐUX×U]ÑU]ÓU_ÐT`Ð&aÓbÐbñ ô �8‰8×/Ñ/°	¸5ÓA€DÜ	‡H�H×.Ñ.¨t¯z©zÔ:Øˆ>Ðr   c                 ój   € \        R RV RV/R7      pVP                  4       pVP                  R,          # )zfn(*inputs)ÚfnrB   )ÚstmtÚglobalséè  )r   Úblocked_autorangeÚmedian)rT   rB   Ú	test_runsÚtÚtimess   &&&  r   Ú	time_cudar]   B   s4   € Ü�=¨4°°XÀÐ*GÔH€AØ×ÑÓ!€EØ�<‰<˜$ÕÐr   c                 ó²   € \         P                  ! 4       p\        V4       F	  pV ! V!   K  	  \         P                  ! 4       pWS,
          V,          R ,          # )rW   )ÚtimeÚperf_counterÚrange)rT   rB   rZ   r'   Ú_Úes   &&&   r   Útime_cpurd   G   sF   € Ü×ÒÓ€AÜ�9ÖˆÙ
ˆFŒñ ä×ÒÓ€AØ�E�YÕ Õ%Ð%r   Úwarmup_runsrZ   c                ó$   € V ^8„  d   QhR\         /# ©r   r
   ©Úfloat)r   s   "r   r   r   N   s   € ÷ ñ ¼Uñ r   c                ó>  € \        V 4      w  rE\        V4       F	  pV! V!   K  	  R pV F>  p\        V\        P                  4      '       g   K%  VP
                  P                  R8H  p M	  Vf   \        R4      hV'       d   \        WAV4      pV# \        WAV4      pV# )NÚcpuzNo tensor found in inputs)
rR   ra   rC   r-   ÚTensorr3   rD   r7   rd   r]   )	r;   rB   re   rZ   rN   rb   Úis_cpuÚinputÚouts	   &&$$     r   Úrun_testrp   N   s˜   € Ü$ RÓ(�H€EÜ�;ÖˆÙˆvŒñ  ð €FÛˆÜ�eœUŸ\™\×*Ô*Ø—\‘\×&Ñ&¨%Ñ/ˆFÙñ ð ‚~ÜÐ8Ó9Ð9ç06Œ(�5 )Ó
,€CØ€Jô =FÀeÐU^Ó<_€CØ€Jr   c               /   óÜ   "  € \         P                  P                  R 4      p Rx € \         P                  P                  V4       R#   \         P                  P                  T4       i ; i5i)FN)r-   r.   Ú_get_graph_executor_optimize)ÚargsÚkwargsÚold_optimizes   *, r   Úno_fuserrv   ^   sE   é € ä—8‘8×8Ñ8¸Ó?€Lð<Ûä�‰×-Ñ-¨lÖ;øŒ�‰×-Ñ-¨lÕ;üs   ‚ A,£A §!A,Á!A)Á)A,c                ó$   € V ^8„  d   QhR\         /# rg   rh   )r   s   "r   r   r   f   s   € ÷ $ñ $¬%ñ $r   c                 óz   € \        4       ;_uu_ 4        \        W4      uuR R R 4       #   + '       g   i     R # ; i)N)rv   rp   ©r;   rB   s   &&r   Úrun_baseline_no_fusionrz   f   s   € Ü	��Ü˜Ó#÷ 
��‹ús   “)©:	c                ó$   € V ^8„  d   QhR\         /# rg   rh   )r   s   "r   r   r   k   s   € ÷ 1ñ 1¤Eñ 1r   c                 óÈ  €  V'       d   R.MR.p\         P                  P                  V4      p\         P                  P                  R4      ;_uu_ 4        \	        W4      uuRRR4       \         P                  P                  V4       #   + '       g   i     M; i \         P                  P                  T4       R#   \         P                  P                  X4       i ; i)ÚDYNAMICÚfuser1N)r}   é
   )ÚSTATICr   )r-   ÚjitÚset_fusion_strategyÚfuserrp   )r;   rB   ÚdynamicÚstratÚ	old_strats   &&&  r   Úrun_nncr‡   k   s”   € ð1ß%,�Ñ!°>Ð2BˆÜ—I‘I×1Ñ1°%Ó8ˆ	Ü�Y‰Y�_‰_˜X×&Õ&Ü˜BÓ'÷ 'Ñ&ô 	�	‰	×%Ñ% iÕ0÷ '×&úÐ&ô 	�	‰	×%Ñ% iÖ0øŒ�	‰	×%Ñ% iÕ0ús)   ‚C  ŠAC  ÁBÁ!
C  ÂB	ÂC  Ã !C!c                ó$   € V ^8„  d   QhR\         /# rg   rh   )r   s   "r   r   r   t   s   € ÷ $ñ $œuñ $r   c                 ó¤   € \         P                  P                  R 4      ;_uu_ 4        \        W4      uuRRR4       #   + '       g   i     R# ; i)Úfuser2N)r-   r�   rƒ   rp   ry   s   &&r   Úrun_nvfuserr‹   t   s,   € Ü	�‰�‰˜×	"Õ	"Ü˜Ó#÷ 
#×	"×	"Ó	"ús	   ¨>¾A	)Ú
contextlibr   Útypingr   r   rF   r-   r_   Útorch.utils.benchmarkr   r*   r9   rR   r]   rd   rp   rv   rz   r‡   r‹   © r   r   Ú<module>r�      sg   ðå %ß Û Û Û Ý 'õõ*Uõò*ò
&ð¨ð °b÷ ð  ñ<ó ð<õ$õ
1÷$r   