
    Xh8              	      l   U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZmZmZmZmZmZmZmZmZmZmZmZ erddlmZmZ ddlmZmZ dd	lmZm Z m!Z!  G d
 d          Z" e"            Z#dZ$de%d<   dXdZ&dYdZ'dZdZ( ed          Z) ed          Z* G d dee)e*f                   Z+ G d d e+e,e,f                   Z- G d! d"e+e.e.f                   Z/ G d# d$e+e0e0f                   Z1 G d% d&ee*e)f         e+ee*         ee)         f                   Z2 ed'          Z3 G d( d)ee3         e2ee3         ee3         f                   Z4e G d* d+                      Z5 G d, d-e+e,e5f                   Z6 G d. d/e2e,e,f         e-          Z7 G d0 d1e2e.e.f         e/          Z8 ed2           G d3 d4                      Z9 G d5 d6e          Z: ed7d89          Z; G d: d8          Z< G d; d<e          Z= G d= d>e<          Z> G d? d@e<          Z?dAe%dB<    G dC dAe<          Z@ G dD dEe<          ZA G dF dGe<          ZB G dH dIe          ZCeDee,e0f                  ZE G dJ dKe          ZF G dL dMe          ZG G dN dOe<          ZH G dP dQe<          ZI G dR dSe<          ZJ G dT dUe<          ZK G dV dWe<          ZL e>            ZM e?            ZN e@            ZO eA            ZP eB            ZQ eH            ZR eI            ZS eJ            ZT eK            ZU eL            ZVdS )[    )annotationsN)	dataclass)contextmanager)castAnyCallable	GeneratorGenericOptionalProtocolTypeTypeVar	TypedDictTYPE_CHECKINGUnion   )CacheManagerRemoteCacheBackend)JitFunctionInfoKernelParam)	ASTSourceLazyDictIRSourcec                      e Zd ZdS )EnvN__name__
__module____qualname__     ^/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/triton/knobs.pyr   r              Dr!   r   Tboolpropagate_envkeystrreturnOptional[str]c                Z    t          j        |           }||                                n|S N)osgetenvstrip)r&   ress     r"   r-   r-      s%    
)C..C/399;;;s2r!   valueNonec                x    t           sd S ||t          j        | <   d S | t          j        v rt          j        | = d S d S r+   )r%   r,   environ)r&   r0   s     r"   setenvr4   !   sF     
3	
		JsOOO 
	r!   valr   !Union[None, tuple[Optional[str]]]c                    | dS t          |           }|t          u r| rdndfS |t          u r| fS |t          u rt          |           fS d S )Nr+   10)typer$   r'   int)r5   ts     r"   toenvr=   +   s^    
{xS		ADyy#&&CxxwCxxC|4r!   SetTypeGetTypec                  f    e Zd ZddZddZd dZed!d            Zd"dZd#dZ	d$dZ
d%dZd&dZdS )'env_baser&   r'   default%Union[SetType, Callable[[], SetType]]r(   r1   c                L    || _         t                    rnfd| _        d S )Nc                      S r+   r    )rB   s   r"   <lambda>z#env_base.__init__.<locals>.<lambda>F   s    X_ r!   )r&   callablerB   )selfr&   rB   s     `r"   __init__zenv_base.__init__D   s0    9A'9J9J._ggP_P_P_P_r!   objclassType[object]namec                    || _         d S r+   )rL   )rH   rJ   rL   s      r"   __set_name__zenv_base.__set_name__H   s    			r!   objOptional[object]Optional[Type[object]]r?   c                    | t          dt          |            d          | j        |j        v r%|                     |j        | j                           S |                                 S )NzCannot access z on non-instance)AttributeErrorr:   rL   __dict__	transformget)rH   rO   rJ   s      r"   __get__zenv_base.__get__K   s_    ; !N$t**!N!N!NOOO9$$>>#,ty"9:::88::r!   
str | Nonec                *    t          | j                  S r+   )r-   r&   rH   s    r"   env_valzenv_base.env_valT   s    dhr!   c                    | j         }|                     ||                                 n|                     |                    S r+   )r[   rU   rB   from_env)rH   envs     r"   rV   zenv_base.getX   s7    l~~dllnnnsASASTTTr!   objectr0   Union[SetType, Env]c                    t          |t                    r"|j                            | j        d            d S ||j        | j        <   t          |          x}rt          | j        |d                    d S d S )Nr   )
isinstancer   rT   poprL   r=   r4   r&   )rH   rO   r0   r[   s       r"   __set__zenv_base.__set__\   s{    eS!! 	-LTY-----&+CL#,,&w -tx,,,,,- -r!   c                F    |j                             | j        d            d S r+   )rT   rc   rL   )rH   rO   s     r"   
__delete__zenv_base.__delete__d   s"    D)))))r!   r5   r>   c                ,    t          t          |          S r+   )r   r?   rH   r5   s     r"   rU   zenv_base.transformg   s     GS!!!r!   c                    t                      r+   )NotImplementedErrorrh   s     r"   r]   zenv_base.from_envl   s    !###r!   N)r&   r'   rB   rC   r(   r1   )rJ   rK   rL   r'   r(   r1   )rO   rP   rJ   rQ   r(   r?   )r(   rX   )r(   r?   )rO   r_   r0   r`   r(   r1   )rO   r_   r(   r1   )r5   r>   r(   r?   )r5   r'   r(   r>   )r   r   r   rI   rN   rW   propertyr[   rV   rd   rf   rU   r]   r    r!   r"   rA   rA   B   s        ` ` ` `             X U U U U- - - -* * * *" " " "
$ $ $ $ $ $r!   rA   c                      e Zd ZddZdS )env_strr5   r'   r(   c                    |S r+   r    rh   s     r"   r]   zenv_str.from_envr       
r!   Nr5   r'   r(   r'   )r   r   r   r]   r    r!   r"   rm   rm   p   s(             r!   rm   c                  *     e Zd Zdd fdZddZ xZS )env_boolFr&   r'   rB   Union[bool, Callable[[], bool]]r(   r1   c                L    t                                          ||           d S r+   superrI   rH   r&   rB   	__class__s      r"   rI   zenv_bool.__init__x   #    g&&&&&r!   r5   r$   c                .    |                                 dv S )N)r8   trueyesony)lowerrh   s     r"   r]   zenv_bool.from_env{   s    yy{{===r!   )F)r&   r'   rB   rs   r(   r1   )r5   r'   r(   r$   r   r   r   rI   r]   __classcell__rx   s   @r"   rr   rr   v   sV        ' ' ' ' ' ' '> > > > > > > >r!   rr   c                  *     e Zd Zdd fdZddZ xZS )env_intr   r&   r'   rB   Union[int, Callable[[], int]]r(   r1   c                L    t                                          ||           d S r+   ru   rw   s      r"   rI   zenv_int.__init__   ry   r!   r5   r;   c                ~    	 t          |          S # t          $ r!}t          d| j         d| d          |d }~ww xY w)NzUnable to use =z: expected int)r;   
ValueErrorRuntimeErrorr&   )rH   r5   excs      r"   r]   zenv_int.from_env   s]    	Ys88O 	Y 	Y 	YNNN3NNNOOUXX	Ys    
<7<)r   )r&   r'   rB   r   r(   r1   )r5   r'   r(   r;   r   r   s   @r"   r   r      s^        ' ' ' ' ' ' 'Y Y Y Y Y Y Y Yr!   r   c                        e Zd Zd fdZ xZS )env_opt_baser&   r'   r(   r1   c                L    t                                          |d            d S r+   ru   )rH   r&   rx   s     r"   rI   zenv_opt_base.__init__   s#    d#####r!   )r&   r'   r(   r1   )r   r   r   rI   r   r   s   @r"   r   r      s=        $ $ $ $ $ $ $ $ $ $r!   r   	ClassTypec                  (     e Zd Zd
 fdZdd	Z xZS )	env_classr&   r'   r:   r(   r1   c                X    t                                          |           || _        d S r+   )rv   rI   r:   )rH   r&   r:   rx   s      r"   rI   zenv_class.__init__   s&    			r!   r5   Type[ClassType]c           	         |                     dd          }t          |          dk    rt          d j         d| d          t	          t          j        |d                   |d                   }t           fd|                                D                       s#t          d	| d
 j         d j	         d          t          t          t                   |          S )N:r      zUnable to read z: 'z ' isn't of the form MODULE:CLASSr   c              3  8   K   | ]}|j         j        k    V  d S r+   )r   r:   ).0crH   s     r"   	<genexpr>z%env_class.from_env.<locals>.<genexpr>   s,      ??AJ$)+??????r!   zUnable to use 'z' from z: not of type '')splitlenr   r&   getattr	importlibimport_moduleanymror:   r   r   r   )rH   r5   compsclss   `   r"   r]   zenv_class.from_env   s    		#q!!u::??cccccccdddi-eAh77qBB????SWWYY???@@ 	dbbbTXbbVZV_bbbcccDOS)))r!   )r&   r'   r:   r'   r(   r1   )r5   r'   r(   r   r   r   s   @r"   r   r      sQ             
	* 	* 	* 	* 	* 	* 	* 	*r!   r   c                  <    e Zd ZU ded<   ded<   edd            ZdS )	
NvidiaToolr'   pathversionr(   Optional[NvidiaTool]c                2   	 t          j        | dgt           j                  }|d S t          j        d|                    d          t          j                  }|d S t          | |                    d                    S # t           j	        $ r Y d S w xY w)Nz	--version)stderrz.*release (\d+\.\d+).*zutf-8)flagsr   )

subprocesscheck_outputSTDOUTresearchdecode	MULTILINEr   groupCalledProcessError)r   resultr   s      r"   	from_pathzNvidiaTool.from_path   s    		,dK-@IZ[[[F~ti 96==;Q;QY[YefffGtdGMM!$4$4555, 	 	 	44	s   $B 6B  "B BBN)r   r'   r(   r   )r   r   r   __annotations__staticmethodr   r    r!   r"   r   r      sF         IIILLL
 
 
 \
 
 
r!   r   c                  0     e Zd Zd fdZddZdd
Z xZS )env_nvidia_toolbinaryr'   r(   r1   c                     |t          j        d          z  }| _        t                                          d|                                 d fd           d S )NEXETRITON__PATHc                     t           j                            t           j                            t                    ddd j                  S )Nbackendsnvidiabin)r,   r   joindirname__file__r   rZ   s   r"   rF   z*env_nvidia_tool.__init__.<locals>.<lambda>   s8    "',,GOOH%%KC
 C
 r!   )	sysconfigget_config_varr   rv   rI   upper)rH   r   rx   s   ` r"   rI   zenv_nvidia_tool.__init__   sp    )*511186<<>>888 ;
 ;
 ;
 ;
 	 	 	 	 	r!   r   r   c                    ||                                  g}|D ]D}|rt          j        |t          j                  s$t                              |          x}r|c S Et          d| j                   )NzCannot find )rB   r,   accessX_OKr   r   r   r   )rH   r   pathstools       r"   rU   zenv_nvidia_tool.transform   s     LLNN	
  	 	D ryrw77 !++D111t  7$+77888r!   r5   c                    |S r+   r    rh   s     r"   r]   zenv_nvidia_tool.from_env   ro   r!   )r   r'   r(   r1   )r   r'   r(   r   rp   )r   r   r   rI   rU   r]   r   r   s   @r"   r   r      se        	 	 	 	 	 	9 9 9 9       r!   r   c                      e Zd ZdS )env_opt_strNr   r    r!   r"   r   r      r#   r!   r   c                      e Zd ZdS )env_opt_boolNr   r    r!   r"   r   r      r#   r!   r   )frozenc                  b    e Zd ZU dZded<   ded<   ded<   edd            Zedd	            Zd
S )CompileTimeszm
    Model holding timing information for an invocation of the compiler.

    All times in microseconds.
    r;   ir_initializationzlist[tuple[str, int]]lowering_stagesstore_resultsr(   c                >    t          d | j        D                       S )Nc              3  &   K   | ]}|d          V  dS )r   Nr    )r   stages     r"   r   z.CompileTimes.total_lowering.<locals>.<genexpr>   s&      ??E!H??????r!   )sumr   rZ   s    r"   total_loweringzCompileTimes.total_lowering   s"    ??$*>???@@@r!   c                0    | j         | j        z   | j        z   S r+   )r   r   r   rZ   s    r"   totalzCompileTimes.total   s    %(;;d>PPPr!   N)r(   r;   )r   r   r   __doc__r   rk   r   r   r    r!   r"   r   r      s            +*** A A A XA Q Q Q XQ Q Qr!   r   c                      e Zd ZddZdS )CompilationListenersrcUnion[ASTSource, IRSource]metadatadict[str, Any]metadata_groupdict[str, str]timesr   	cache_hitr$   r(   r1   c                   d S r+   r    )rH   r   r   r   r   r   s         r"   __call__zCompilationListener.__call__       r!   N)r   r   r   r   r   r   r   r   r   r$   r(   r1   r   r   r   r   r    r!   r"   r   r      (             r!   r   
knobs_type
base_knobs)boundc                  f    e Zd Zedd            Zedd            ZddZdd	Zedd            Z	dS )r   r(   dict[str, env_base]c                b    d t          |           j                                        D             S )Nc                D    i | ]\  }}t          |t                    ||S r    )rb   rA   )r   kvs      r"   
<dictcomp>z/base_knobs.knob_descriptors.<locals>.<dictcomp>  s@     
 
 
 1!X&&	
q
 
 
r!   )r:   rT   itemsrZ   s    r"   knob_descriptorszbase_knobs.knob_descriptors
  s:    
 
 T

+1133
 
 
 	
r!   r   c                N      fd j                                         D             S )Nc                2    i | ]}|t          |          S r    )r   )r   r   rH   s     r"   r   z$base_knobs.knobs.<locals>.<dictcomp>  s%    JJJ74##JJJr!   )r   keysrZ   s   `r"   knobszbase_knobs.knobs  s,    JJJJT-B-G-G-I-IJJJJr!   rH   r   c                r     t          |                       }|j                            | j                   |S r+   )r:   rT   update)rH   r/   s     r"   copyzbase_knobs.copy  s0    d4jjllDM***
r!   c                ^    | j                                         D ]}t          | |           | S r+   )r   r   delattr)rH   knobs     r"   resetzbase_knobs.reset  s8    )..00 	  	 DD$r!   Generator[None, None, None]c              #  t  K   	 d | j                                         D             }t          | j                  }d V  | j                                         | j                            |           |                                D ]2\  }}||t          j        |<   |t          j        v rt          j        |= 3d S # | j                                         | j                            |           |                                D ]2\  }}||t          j        |<   |t          j        v rt          j        |= 3w xY w)Nc                (    i | ]}|j         |j        S r    )r&   r[   )r   r  s     r"   r   z$base_knobs.scope.<locals>.<dictcomp>$  s    ]]]d48T\]]]r!   )	r   valuesdictrT   clearr  r   r,   r3   )rH   initial_envorigr   r   s        r"   scopezbase_knobs.scope!  s:     	&]]d>S>Z>Z>\>\]]]K&&DEEEM!!!M  &&&#))++ & &1=$%BJqMM"*__
1	& & M!!!M  &&&#))++ & &1=$%BJqMM"*__
1	&s   ;B; ;A<D7N)r(   r   )r(   r   )rH   r   r(   r   )r(   r	  )
r   r   r   rk   r   r  r  r  r   r  r    r!   r"   r   r     s        
 
 
 X
 K K K XK   
   
 & & & ^& & &r!   c                      e Zd Zdd
ZdS )	BuildImplrL   r'   r   srcdirlibrary_dirs	list[str]include_dirs	librariesr(   c                   d S r+   r    )rH   rL   r   r  r  r  r  s          r"   r   zBuildImpl.__call__4  r   r!   N)rL   r'   r   r'   r  r'   r  r  r  r  r  r  r(   r'   r   r    r!   r"   r  r  2  r   r!   r  c                      e Zd ZU dZ ed          Zded<    ed          Zded<    ed          Zded<   d	Z	d
ed<   e
dd            Zd	S )build_knobsz<Configuration controlling how the native compiler is invokedCCr   ccTRITON_CUDACRT_PATHcudacrt_pathTRITON_CUDART_PATHcudart_pathNzOptional[BuildImpl]implr(   set[str]c                2    d | j         | j        fD             S )Nc                    h | ]}||S r+   r    )r   r   s     r"   	<setcomp>z+build_knobs.backend_dirs.<locals>.<setcomp>D  s    [[[$JZJZJZJZr!   )r  r!  rZ   s    r"   backend_dirszbuild_knobs.backend_dirsB  s!    [[$"3T5E!F[[[[r!   )r(   r#  )r   r   r   r   r   r  r   r  r!  r"  rk   r'  r    r!   r"   r  r  9  s         FF!k$''B'''' +,A B BLBBBB*{+?@@K@@@@ $D$$$$\ \ \ X\ \ \r!   r  c                  v    e Zd ZU  edd          Zded<    edd          Zded<    edd	          Zd
ed<   dS )redis_knobsTRITON_REDIS_KEY_FORMATztriton:{key}:{filename}rm   
key_formatTRITON_REDIS_HOST	localhosthostTRITON_REDIS_PORTi  r   portN)	r   r   r   rm   r+  r   r.  r   r0  r    r!   r"   r)  r)  G  sm         !'";=VWWJWWWWG/==D====G/66D666666r!   r)  cache_knobscachec                      e Zd ZU  edd           Zded<    edd           Zded<    edd	           Zded
<    edd           Zded<    e	dd          Z
ded<    e	dd          Zded<   ddZdS )r1  TRITON_HOMEc                 @    t           j                            d          S )Nz~/)r,   r   
expanduserr    r!   r"   rF   zcache_knobs.<lambda>Q  s    rw7I7I$7O7O r!   rm   home_dirTRITON_DUMP_DIRc                 6    t                               d          S )Ndumpr2  get_triton_dirr    r!   r"   rF   zcache_knobs.<lambda>S  s    5;O;OPV;W;W r!   dump_dirTRITON_OVERRIDE_DIRc                 6    t                               d          S )Noverrider;  r    r!   r"   rF   zcache_knobs.<lambda>T  s    5CWCWXbCcCc r!   override_dirTRITON_CACHE_DIRc                 6    t                               d          S )Nr2  r;  r    r!   r"   rF   zcache_knobs.<lambda>U  s    u7K7KG7T7T r!   dirTRITON_CACHE_MANAGERr   zenv_class[CacheManager]manager_classTRITON_REMOTE_CACHE_BACKENDr   zenv_class[RemoteCacheBackend]remote_manager_classr   r'   r(   c                N    t           j                            | j        d|          S )Nz.triton)r,   r   r   r7  )rH   r   s     r"   r<  zcache_knobs.get_triton_dirZ  s    w||DM9g>>>r!   N)r   r'   r(   r'   )r   r   r   rm   r7  r   r=  rA  rD  r   rF  rH  r<  r    r!   r"   r1  r1  P  s         /O/OPPHPPPP 13W3WXXHXXXX#G$9;c;cddLdddd7-/T/TUUCUUUU-6Y7M~-^-^M^^^^:C)Dacw:x:xxxxx? ? ? ? ? ?r!   c                  >   e Zd ZU  ed          Zded<    ed          Zded<    ed          Zded<    ed          Zded	<    e	d
          Z
ded<    ed          Zded<    ed          Zded<    ed          Zded<    ed          Zded<   dZded<   dS )compilation_knobsTRITON_KERNEL_OVERRIDErr   r@  TRITON_KERNEL_DUMPdump_irTRITON_STORE_BINARY_ONLYstore_binary_onlyTRITON_ALWAYS_COMPILEalways_compile
USE_IR_LOCr   
use_ir_locTRITON_ENABLE_ASANenable_asanTRITON_DISABLE_LINE_INFOdisable_line_infoTRITON_FRONT_END_DEBUGGINGfront_end_debugging"TRITON_ALLOW_NON_CONSTEXPR_GLOBALSallow_non_constexpr_globalsNz Union[CompilationListener, None]listener)r   r   r   rr   r@  r   rN  rP  rR  r   rT  rV  rX  rZ  r\  r]  r    r!   r"   rK  rK  ^  s"        !":;;H;;;; !566G6666"*(+E"F"FFFFF'x(?@@N@@@@)k,77J7777$H%9::K::::"*(+E"F"FFFFF$,H-I$J$JJJJJ,4H5Y,Z,ZZZZZ15H555555r!   rK  c                  P    e Zd ZU  ed          Zded<    ed          Zded<   dS )autotuning_knobsTRITON_CACHE_AUTOTUNINGrr   r2  TRITON_PRINT_AUTOTUNINGprintN)r   r   r   rr   r2  r   rb  r    r!   r"   r_  r_  l  sJ         h899E9999h899E999999r!   r_  c                      e Zd ZddZdS )
LaunchHookr   r   r(   r1   c                    d S r+   r    )rH   r   s     r"   r   zLaunchHook.__call__s  s    r!   N)r   r   r(   r1   r   r    r!   r"   rd  rd  q  s(             r!   rd  c                      e Zd ZU ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   dS )JITHookCompileInfor'   r&   zdict[KernelParam, str]	signaturer;   devicer1   	constants	num_warpsnum_ctas
num_stagesr$   enable_fp_fusionlaunch_cooperative_gridztuple[tuple[str, str], ...]extern_libsz-list[dict[tuple[int, ...], list[KernelAttr]]]configsspecialization_data	is_warmupN)r   r   r   r   r    r!   r"   rg  rg  |  s         HHH%%%%KKKOOONNNMMMOOO!!!!,,,,::::OOOOOr!   rg  c                      e Zd ZddZdS )JITHookr&   r'   reprfnr   compilerg  is_manual_warmupr$   already_compiledr(   Optional[bool]c                   d S r+   r    )rH   r&   rv  rw  rx  ry  rz  s          r"   r   zJITHook.__call__  r   r!   N)r&   r'   rv  r'   rw  r   rx  rg  ry  r$   rz  r$   r(   r{  r   r    r!   r"   ru  ru    r   r!   ru  c                      e Zd ZU  ed          Zded<    ed          Zded<    ed          Zded<   d	Z	d
ed<   d	Z
d
ed<   d	Zded<   d	Zded<   d	S )runtime_knobsTRITON_INTERPRETrr   	interpretTRITON_DEBUGdebugTRITON_OVERRIDE_ARCHr   override_archNzOptional[LaunchHook]launch_enter_hooklaunch_exit_hookzOptional[JITHook]jit_cache_hookjit_post_compile_hook)r   r   r   rr   r  r   r  r   r  r  r  r  r  r    r!   r"   r~  r~    s         "(#566I6666h~..E....!,-C!D!DMDDDD.22222-11111 )-N,,,, 04333333r!   r~  c                  R    e Zd ZU  ed          Zded<    edd          Zded<   dS )	language_knobsTRITON_F32_DEFAULTr   fp32_defaultTRITON_DEFAULT_FP_FUSIONTrr   default_fp_fusionN)r   r   r   r   r  r   rr   r  r    r!   r"   r  r    sM          +,@ A ALAAAA"*(+Et"L"LLLLLLLr!   r  c                     e Zd ZU  ed          Zded<    ed          Zded<    ed          Zded<    ed          Z	ded<    ed          Z
ded	<    ed
          Zded<    ed          Zded<    ed          Zded<   dS )nvidia_knobs	cuobjdumpr   nvdisasmptxasNVPTX_ENABLE_DUMPrr   
dump_nvptxDISABLE_PTXAS_OPTdisable_ptxas_optTRITON_MOCK_PTX_VERSIONr   mock_ptx_versionTRITON_LIBDEVICE_PATHlibdevice_pathTRITON_LIBCUDA_PATHlibcuda_pathN)r   r   r   r   r  r   r  r  rr   r  r  r   r  r  r  r    r!   r"   r  r    s         !0!=!=I==== /
 ; ;H;;;;,_W55E5555#8$788J8888"*(+>"?"?????$/K0I$J$JJJJJ"-+.E"F"FNFFFF +,A B BLBBBBBBr!   r  c                  P   e Zd ZU  ed          Zded<    ed          Zded<    ed          Zded<    ed	          Z	ded
<    e
d          Zded<    e
d          Zded<    ed          Zded<    ed          Zded<    ed          Zded<    ed          Zded<   dS )	amd_knobsAMDGCN_USE_BUFFER_OPSrr   use_buffer_opsAMDGCN_ENABLE_DUMPdump_amdgcnTRITON_LIBHIP_PATHr   libhip_pathTRITON_HIP_LLD_PATHlld_pathTRITON_HIP_USE_BLOCK_PINGPONGr   use_block_pingpong"TRITON_HIP_USE_IN_THREAD_TRANSPOSEuse_in_thread_transposeTRITON_HIP_GLOBAL_PREFETCHr   global_prefetchTRITON_HIP_LOCAL_PREFETCHlocal_prefetchTRITON_HIP_USE_ASYNC_COPYuse_async_copyAMDGCN_SCALARIZE_PACKED_FOPSscalarize_packed_fopsN)r   r   r   rr   r  r   r  r   r  r  r   r  r  r   r  r  r  r  r    r!   r"   r  r    s/        'x(?@@N@@@@$H%9::K::::*{+?@@K@@@@'K(=>>H>>>> (4|4S'T'TTTTT,8L9],^,^^^^^&w'CDDODDDD%g&ABBNBBBB'x(CDDNDDDD&.h/M&N&NNNNNNNr!   r  c                  0    e Zd ZU  ed          Zded<   dS )proton_knobsTRITON_CUPTI_LIB_PATHr   	cupti_dirN)r   r   r   r   r  r   r    r!   r"   r  r    s.         ([)@AAIAAAAAAr!   r  )r&   r'   r(   r)   )r&   r'   r0   r)   r(   r1   )r5   r   r(   r6   )W
__future__r   r   r,   r   r   r   dataclassesr   
contextlibr   typingr   r   r   r	   r
   r   r   r   r   r   r   r   runtime.cacher   r   runtime.jitr   r   compiler.compilerr   r   r   r   r^   r%   r   r-   r4   r=   r>   r?   rA   r'   rm   r$   rr   r;   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r)  r1  rK  r_  rd  list
KernelAttrrg  ru  r~  r  r  r  r  buildredisr2  compilation
autotuningruntimelanguager   amdprotonr    r!   r"   <module>r     s   " " " " " " "     				 				         ! ! ! ! ! ! % % % % % % ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ A????????99999999@@@@@@@@@@	 	 	 	 	 	 	 	 
cee    3 3 3 3
      & ')


')

+$ +$ +$ +$ +$ww'( +$ +$ +$\    hsCx    > > > > >xd
# > > >	Y 	Y 	Y 	Y 	YhsCx  	Y 	Y 	Y$ $ $ $ $77G+,hx7H(SZJ[7[.\ $ $ $ GK  	* * * * *	"Li$y/1Q$R * * *&        $    hsJ/   B	 	 	 	 	,sCx(' 	 	 		 	 	 	 	<d
+X 	 	 	 $Q Q Q Q Q Q Q Q4    (    W\666
'& '& '& '& '& '& '& '&T       \ \ \ \ \* \ \ \7 7 7 7 7* 7 7 7    ? ? ? ? ?* ? ? ?6 6 6 6 6
 6 6 6: : : : :z : : :
        %S/"
            h   4 4 4 4 4J 4 4 4M M M M MZ M M M

C 
C 
C 
C 
C: 
C 
C 
CO O O O O
 O O O B B B B B: B B B 	!!

-//>	ikk	r!   