§
    OŠtj  ã                   óä   — 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d
S )é   )Ú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d„ eD ¦   «         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 )Ú
LaunchHookéd   )é   é   é    é@   c                 ó   — g | ]}d |› �‘ŒS )Úflops© )Ú.0Úwidths     úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/triton/profiler/hooks/launch.pyú
<listcomp>zLaunchHook.<listcomp>   s   € Ð8Ð8Ð8 5ˆ�uˆˆÐ8Ð8Ð8ó    Úbytesr   >   ÚnameÚstreamÚfunctionN©ÚincludeÚexcluder(   r)   Úreturnc                ó–   — || _         || _        |rt          j        |¦  «        nd | _        |rt          j        |¦  «        nd | _        d S ©N)Ú_include_patternÚ_exclude_patternÚreÚcompileÚ_include_reÚ_exclude_re)Úselfr(   r)   s      r    Ú	configurezLaunchHook.configure!   sP   € à 'ˆÔØ 'ˆÔØ29ÐC�2œ: gÑ.Ô.Ð.¸tˆÔØ29ÐC�2œ: gÑ.Ô.Ð.¸tˆÔÐÐr"   Úkernel_namec                 ó’   — | j         �| j                              |¦  «        €dS | j        �| j                             |¦  «        �dS dS )NFT)r1   Úmatchr2   )r3   r5   s     r    Ú_matches_kernel_namezLaunchHook._matches_kernel_name(   sO   € ØÔÐ'¨DÔ,<×,BÒ,BÀ;Ñ,OÔ,OÐ,WØ�5ØÔÐ'¨DÔ,<×,BÒ,BÀ;Ñ,OÔ,OÐ,[Ø�5Øˆtr"   c                 óX   — | €dS t          | d¦  «        rdS t          | t          ¦  «        S )NFÚdata_ptrT)ÚhasattrÚ
isinstancer   )Úvalues    r    Ú_is_supported_metric_valuez%LaunchHook._is_supported_metric_value/   s5   € ð ˆ=Ø�5Ý�5˜*Ñ%Ô%ð 	Ø�4Ý˜%¥Ñ(Ô(Ð(r"   Úlazy_metadatac                 ó>   — d„ |                       ¦   «         D ¦   «         S )Nc                 ój   — i | ]0\  }}|t           j        v¯t                                |¦  «        ¯-||“Œ1S r   )r   Ú_reserved_metadata_keysr>   )r   ÚkÚvs      r    ú
<dictcomp>z/LaunchHook._extract_metrics.<locals>.<dictcomp>=   sJ   € ð 
ð 
ð 
á��1Ø�
Ô:Ð:Ð:½z×?dÒ?dÐefÑ?gÔ?gÐ:ð ˆqà:Ð:Ð:r"   )Úitems)r?   s    r    Ú_extract_metricszLaunchHook._extract_metrics9   s/   € ð
ð 
à%×+Ò+Ñ-Ô-ð
ñ 
ô 
ð 	
r"   c                 ó„   •— | j         €2t          ¦   «                              | ¦  «        | _         d| j         _        | j         S )NF)Ú	_instanceÚsuperÚ__new__Ú_initialized)ÚclsÚargsÚkwargsÚ	__class__s      €r    rK   zLaunchHook.__new__C   s4   ø€ ØŒ=Ð Ý!™GœGŸOšO¨CÑ0Ô0ˆCŒMØ).ˆCŒMÔ&ØŒ}Ðr"   c                 óh   — t          | dd¦  «        rd S |                      d d ¬¦  «         d| _        d S )NrL   Fr'   T)Úgetattrr4   rL   ©r3   s    r    Ú__init__zLaunchHook.__init__I   sA   € õ �4˜¨Ñ/Ô/ð 	ØˆFà�Š˜t¨TˆÑ2Ô2Ð2Ø ˆÔÐÐr"   r$   Úmetadata_groupÚhashc                 ó   — d S r,   r   )r3   Úmoduler&   r$   rU   rV   s         r    Úinit_handlezLaunchHook.init_handleR   ó   € Øˆr"   c                 ó   — d S r,   r   rS   s    r    ÚactivatezLaunchHook.activateU   rZ   r"   c                 ó   — d S r,   r   rS   s    r    Ú
deactivatezLaunchHook.deactivateX   rZ   r"   Úmetadatac                 ón  — |j                              d¦  «        }|                      |¦  «        st                               d¦  «         d S t          t          ¦  «         |                     ¦   «         }t          ¦   «          |d         }|                      |¦  «        st                               d¦  «         d S t                               d¦  «         t           	                    |¦  «        }t                               |¦  «         t                               t          j        ¦   «         ¦  «         |rt          ¦   «          t          |¦  «        \  }}t          j        t                               ¦   «         |d         ¦  «         t          j        t                               ¦   «         ||¦  «         d S )Nr$   FT)ÚdataÚgetr8   r   Úsetr   r   r   r   rG   r   r   Ú	libprotonÚrecord_scoper   r   Úenter_opÚadd_metrics)r3   r_   r5   r?   Ú
fn_metricsÚscalar_metricsÚtensor_metricss          r    ÚenterzLaunchHook.enter[   s]  € ð ”m×'Ò'¨Ñ/Ô/ˆØ×(Ò(¨Ñ5Ô5ð 	Ý�KŠK˜ÑÔÐØˆFÝÕ/Ñ0Ô0Ð0Ø Ÿš™œˆÝ‰Œˆà# FÔ+ˆà×(Ò(¨Ñ5Ô5ð 	Ý�KŠK˜ÑÔÐØˆFå�Š�DÑÔÐÝ×0Ò0°Ñ?Ô?ˆ
Ý�Š�KÑ Ô Ð Ý
�Š�yÔ%Ñ'Ô'Ñ(Ô(Ð(Øð 	!ÝÑ Ô Ð Ý)AÀ*Ñ)MÔ)MÑ&ˆ˜ÝÔ�2Ÿ6š6™8œ8 ]°6Ô%:Ñ;Ô;Ð;ÝÔ�bŸfšf™hœh¨¸ÑGÔGÐGÐGÐGr"   c                 óÂ   — t                                ¦   «         sd S t          j        t                               ¦   «         t
                               ¦   «         ¦  «         d S r,   )r   rb   rd   Úexit_opr   r   )r3   r_   s     r    ÚexitzLaunchHook.exitv   s@   € Ý�{Š{‰}Œ}ð 	ØˆFÝÔ�"Ÿ&š&™(œ(¥G§K¢K¡M¤MÑ2Ô2Ð2Ð2Ð2r"   )Ú__name__Ú
__module__Ú__qualname__ÚpriorityÚflops_widthÚmetricsrB   rI   r   Ústrr4   Úboolr8   Ústaticmethodr>   ÚdictrG   rK   rT   rY   r\   r^   r	   rk   rn   Ú__classcell__)rP   s   @r    r   r      sé  ø€ € € € € à€HØ!�/�/€Kð 9Ð8¨KÐ8Ñ8Ô8¸G¸9ÑDÈÀyÑP€Gð =Ð<Ð<Ðð
 €Ià48ÐSWð Dð Dð D H¨S¤Mð DÀ8ÈCÄ=ð DÐ\`ð Dð Dð Dð Dð°ð ¸ð ð ð ð ð ð)¨Tð )ð )ð )ñ „\ð)ð ð
¨ð 
°ð 
ð 
ð 
ñ „\ð
ðð ð ð ð ð!ð !ð !ð°#ð Àtð ÐSVð Ð[_ð ð ð ð ðð ð ðð ð ðH˜hð H¨4ð Hð Hð Hð Hð63˜Xð 3¨$ð 3ð 3ð 3ð 3ð 3ð 3ð 3ð 3r"   r   )Ústater   r   r   Úmetricr   r   Útriton.compilerr	   Úhookr   Útriton._C.libprotonr   rd   Úcontextvarsr   Únumbersr   r/   Útypingr   r   r   r   r   r   r"   r    ú<module>r‚      s*  ðØ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ð Ð à
ˆ*�Y¨Ð
-Ñ
-Ô
-€Ø€Z�˜dÐ#Ñ#Ô#€Ø
ˆ*�Y¨Ð
.Ñ
.Ô
.€ði3ð i3ð i3ð i3ð i3�ñ i3ô i3ð i3ð i3ð i3r"   