U
    hL                     @   sR   d dl mZmZ ddlmZmZ dZG dd dZddd	d
ZddddZ	dS )   )enter_scope
exit_scope    )CompiledKernelLazyDictZ__proton_launch_metadatac                   @   sT   e Zd ZddddgZdd eD 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 )Zflops ).0widthr   r   F/var/www/html/venv/lib/python3.8/site-packages/triton/profiler/hook.py
<listcomp>	   s     zTritonHook.<listcomp>bytesN)	lazy_dictreturnc                    s@   t t |   t   fddtjD }t  d d|d d S )Nc                    s   i | ]}| kr| | qS r   r   )r   kmetadatar   r   
<dictcomp>   s       z$TritonHook.enter.<locals>.<dictcomp>nameT)	triton_opmetrics)r   COMPUTE_METADATA_SCOPE_NAMEgetr   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d krtjt _tjt _d S N)r   launch_enter_hookr   r   r   launch_exit_hookr   r   r   r   register_triton_hook   s    
r&   c                   C   s   t jtjkrd t _d t _d S r#   )r   r$   r   r   r%   r   r   r   r   unregister_triton_hook   s    r'   )
scoper   r   Ztriton.compilerr   r   r   r   r&   r'   r   r   r   r   <module>   s
   