Ë
    1²j  ã                   óÊ   — d dl mZmZmZ d dlmZmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lZddlmZ  edd
¬«      Z edd
¬«      Z edd¬«      Z G d„ de
«      Zy
)é   )Úenter_stateÚ
exit_stateÚCOMPUTE_METADATA_SCOPE_NAME)Útransform_tensor_metricsÚset_metric_kernelsé    )ÚLazyDicté   )ÚHook)Úproton)Ú
ContextVar)ÚNumberN)ÚOptionalÚop_name)ÚdefaultÚidÚenabledFc                   ó.  ‡— e Zd ZdZg d¢ZeD � �cg c]  }d|› �‘Œ	 c}} dgz   dgz   Zh d£ZdZdddœdee	   d	ee	   d
dfd„Z
de	d
efd„Zed
efd„«       Zeded
efd„«       Zˆfd„Zd„ Zde	dede	d
dfd„Zd„ Zd„ Zded
dfd„Zded
dfd„ZˆxZS c c}} w )Ú
LaunchHookéd   )é   é   é    é@   ÚflopsÚbytes>   ÚnameÚstreamÚfunctionN©ÚincludeÚexcluder!   r"   Úreturnc                ó¤   — || _         || _        |rt        j                  |«      nd | _        |rt        j                  |«      | _        y d | _        y ©N)Ú_include_patternÚ_exclude_patternÚreÚcompileÚ_include_reÚ_exclude_re)Úselfr!   r"   s      ú[/var/www/html/ia-enhanced/venv/lib/python3.12/site-packages/triton/profiler/hooks/launch.pyÚ	configurezLaunchHook.configure!   sA   € à 'ˆÔØ 'ˆÔÙ29œ2Ÿ:™: gÔ.¸tˆÔÙ29œ2Ÿ:™: gÓ.ˆÕ¸tˆÕó    Úkernel_namec                 ó¤   — | j                   �| j                   j                  |«      €y| j                  �| j                  j                  |«      �yy)NFT)r*   Úmatchr+   )r,   r0   s     r-   Ú_matches_kernel_namezLaunchHook._matches_kernel_name(   sO   € Ø×ÑÐ'¨D×,<Ñ,<×,BÑ,BÀ;Ó,OÐ,WØØ×ÑÐ'¨D×,<Ñ,<×,BÑ,BÀ;Ó,OÐ,[ØØr/   c                 óB   — | €yt        | d«      ryt        | t        «      S )NFÚdata_ptrT)ÚhasattrÚ
isinstancer   )Úvalues    r-   Ú_is_supported_metric_valuez%LaunchHook._is_supported_metric_value/   s&   € ð ˆ=ØÜ�5˜*Ô%ØÜ˜%¤Ó(Ð(r/   Úlazy_metadatac                 ó¤   — | j                  «       D ��ci c]/  \  }}|t        j                  vrt        j                  |«      r||“Œ1 c}}S c c}}w r%   )Úitemsr   Ú_reserved_metadata_keysr9   )r:   ÚkÚvs      r-   Ú_extract_metricszLaunchHook._extract_metrics9   sQ   € ð &×+Ñ+Ó-÷
á��1Øœ
×:Ñ:Ñ:¼z×?dÑ?dÐefÔ?gð ˆq‰Dó
ð 	
ùó 
s   ”4Ac                 ó~   •— | j                   €%t        ‰| �	  | «      | _         d| j                   _        | j                   S )NF)Ú	_instanceÚsuperÚ__new__Ú_initialized)ÚclsÚargsÚkwargsÚ	__class__s      €r-   rD   zLaunchHook.__new__C   s3   ø€ Ø�=‰=Ð Ü!™G™O¨CÓ0ˆCŒMØ).ˆC�M‰MÔ&Ø�}‰}Ðr/   c                 óT   — t        | dd«      ry | j                  d d ¬«       d| _        y )NrE   Fr    T)Úgetattrr.   rE   ©r,   s    r-   Ú__init__zLaunchHook.__init__I   s+   € ô �4˜¨Ô/Øà�‰˜t¨TˆÔ2Ø ˆÕr/   r   Úmetadata_groupÚhashc                  ó   — y r%   © )r,   Úmoduler   r   rN   rO   s         r-   Úinit_handlezLaunchHook.init_handleR   ó   € Ør/   c                  ó   — y r%   rQ   rL   s    r-   ÚactivatezLaunchHook.activateU   rT   r/   c                  ó   — y r%   rQ   rL   s    r-   Ú
deactivatezLaunchHook.deactivateX   rT   r/   Úmetadatac                 óÚ  — |j                   j                  d«      }| j                  |«      st        j	                  d«       y t        t        «       |j                  «       }t        «        |d   }| j                  |«      st        j	                  d«       y t        j	                  d«       t        j                  |«      }t        j	                  |«       t        j	                  t        j                  «       «       |r
t        «        t        |«      \  }}t        j                   t        j                  «       |d   «       t        j"                  t        j                  «       ||«       y )Nr   FT)ÚdataÚgetr3   r   Úsetr   r   r   r   r@   r   r   Ú	libprotonÚrecord_scoper   r   Úenter_opÚadd_metrics)r,   rY   r0   r:   Ú
fn_metricsÚscalar_metricsÚtensor_metricss          r-   ÚenterzLaunchHook.enter[   sý   € ð —m‘m×'Ñ'¨Ó/ˆØ×(Ñ(¨Ô5Ü�K‰K˜ÔØÜÔ/Ô0Ø Ÿ™›ˆÜŒà# FÑ+ˆà×(Ñ(¨Ô5Ü�K‰K˜ÔØä�‰�DÔÜ×0Ñ0°Ó?ˆ
Ü�‰�KÔ Ü
�‰Œy×%Ñ%Ó'Ô(ÙÜÔ Ü)AÀ*Ó)MÑ&ˆ˜Ü×Ñœ2Ÿ6™6›8 ]°6Ñ%:Ô;Ü×ÑœbŸf™f›h¨¸ÕGr/   c                 ó¢   — t         j                  «       sy t        j                  t        j                  «       t
        j                  «       «       y r%   )r   r\   r^   Úexit_opr   r   )r,   rY   s     r-   ÚexitzLaunchHook.exitv   s*   € Ü�{‰{Œ}ØÜ×Ñœ"Ÿ&™&›(¤G§K¡K£MÕ2r/   )Ú__name__Ú
__module__Ú__qualname__ÚpriorityÚflops_widthÚmetricsr=   rB   r   Ústrr.   Úboolr3   Ústaticmethodr9   Údictr@   rD   rM   rS   rV   rX   r	   re   rh   Ú__classcell__)Ú.0ÚwidthrI   s   00@r-   r   r      s%  ø„ à€HÚ!€Kð -8×8 5��u�gŠÓ8¸G¸9ÑDÈÀyÑP€Gò =Ðð
 €Ià48ÐSWò D H¨S¡Mð DÀ8ÈCÁ=ð DÐ\`ó Dð°ð ¸ó ð ð)¨Tò )ó ð)ð ð
¨ð 
°ò 
ó ð
ôò!ð°#ð Àtð ÐSVð Ð[_ó òòðH˜hð H¨4ó Hð63˜Xð 3¨$÷ 3ùóA 9s   ‘Br   )Ústater   r   r   Úmetricr   r   Útriton.compilerr	   Úhookr   Útriton._C.libprotonr   r^   Úcontextvarsr   Únumbersr   r(   Útypingr   r   r   r   r   rQ   r/   r-   ú<module>r~      sU   ðß HÑ Hß AÝ $Ý Ý 3Ý "Ý Û 	Ý á
�Y¨Ô
-€Ù�˜dÔ#€Ù
�Y¨Ô
.€ôi3�õ i3r/   