
    Xh                     l    d dl mZmZ d dlmZmZ ddlmZ ddlm	Z	 dZ
 G d d          ZddZddZd
S )   )enter_state
exit_state)enter_scope
exit_scope    )knobs)LazyDict__proton_launch_metadatac                   ~    e Zd Zg dZd eD             dgz   dgz   Zededdfd            Zededdfd	            ZdS )

TritonHook)          @   c                     g | ]}d | S )flops ).0widths     f/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/triton/profiler/hook.py
<listcomp>zTritonHook.<listcomp>   s    8885u888    bytesr   	lazy_dictreturnNc                     t          t                     |                                 t                       fdt          j        D             }t          d         d|           d S )Nc                 *    i | ]}|v ||         S r   r   )r   kmetadatas     r   
<dictcomp>z$TritonHook.enter.<locals>.<dictcomp>   s$    RRRAMMa!MMMr   nameT)	triton_opmetrics)r   COMPUTE_METADATA_SCOPE_NAMEgetr   r   r#   r   )r   
fn_metricsr   s     @r   enterzTritonHook.enter   sd    /000==??RRRRj.@RRR
HV$jIIIIIIr   c                 &    t          d           d S )NT)r"   )r   )r   s    r   exitzTritonHook.exit   s    T""""""r   )	__name__
__module____qualname__flops_widthr#   staticmethodr	   r'   r)   r   r   r   r   r   	   s        !//K88K888G9DyPGJ Jd J J J \J # #T # # # \# # #r   r   r   Nc                      t           j        j        8t          j        t           j        _        t          j        t           j        _        d S d S N)r   runtimelaunch_enter_hookr   r'   r)   launch_exit_hookr   r   r   register_triton_hookr4      s4    }&.*4*:')3&&& /.r   c                      t           j        j        t          j        k    r$d t           j        _        d t           j        _        d S d S r0   )r   r1   r2   r   r'   r3   r   r   r   unregister_triton_hookr6       s7    }&**:::*.')-&&& ;:r   )r   N)stater   r   scoper   r   tritonr   triton.compilerr	   r$   r   r4   r6   r   r   r   <module>r;      s    * * * * * * * * * * * * * * * *       $ $ $ $ $ $8 # # # # # # # #"9 9 9 9. . . . . .r   