a
    kh                     @   sj   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 dZd	d
ddZd	d
ddZd	S )   )enter_state
exit_state)enter_scope
exit_scope    )knobs)LazyDictZ__proton_launch_metadatac                   @   sV   e Zd Zg dZdd eD dg dg Zeedddd	Zeeddd
dZdS )
TritonHook)          @   c                 C   s   g | ]}d | qS )flops ).0widthr   r   B/var/www/auris/lib/python3.9/site-packages/triton/profiler/hook.py
<listcomp>       zTritonHook.<listcomp>bytesr   N)	lazy_dictreturnc                    s@   t t |   t   fddtjD }t d d|d d S )Nc                    s   i | ]}| v r| | qS r   r   )r   kmetadatar   r   
<dictcomp>   r   z$TritonHook.enter.<locals>.<dictcomp>nameT)	triton_opmetrics)r   COMPUTE_METADATA_SCOPE_NAMEgetr   r	   r   r   )r   Z
fn_metricsr   r   r   enter   s
    zTritonHook.enterc                 C   s   t dd d S )NT)r   )r   )r   r   r   r   exit   s    zTritonHook.exit)	__name__
__module____qualname__Zflops_widthr   staticmethodr   r!   r"   r   r   r   r   r	   	   s   r	   N)r   c                   C   s$   t jjd u r tjt j_tjt j_d S N)r   runtimelaunch_enter_hookr	   r!   r"   launch_exit_hookr   r   r   r   register_triton_hook   s    
r+   c                   C   s"   t jjtjkrd t j_d t j_d S r'   )r   r(   r)   r	   r!   r*   r   r   r   r   unregister_triton_hook    s    r,   )stater   r   Zscoper   r   Ztritonr   Ztriton.compilerr   r   r	   r+   r,   r   r   r   r   <module>   s   