
    ^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 )
LaunchHookd   )          @   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      g/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/triton/profiler/hooks/launch.py	configurezLaunchHook.configure!   sA     ' '292::g.t292::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?def?g qD
 	
 
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    == !GOC0CM).CMM&}}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/tT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     mm''/((5KK/0 #F+((5KKD00?
K 
y%%'( )A*)M&2668]6%:;bffh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*    {{}"&&(GKKM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85ug8G9DyPG =
 I48SW DHSM D8C= D\` D   )T ) ) 
 
 
 
!# t SV [_ Hh H4 H63X 3$ 3A 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/   