
    HrinC              
      
   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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 d dl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<   d`dZ+dadZ, ed          Z- ed          Z. e/            Z0 G d dee-e.f                   Z1 G d d e1e2e2f                   Z3 G d! d"e1e2e2f                   Z4 G d# d$e1e5e5f                   Z6 G d% d&e1e7e7f                   Z8 ed'          Z9 G d( d)ee9         e1eee9                  eee9                  f                   Z:e
 G d* d+                      Z; G d, d-e1e2e;f                   Z< G d. d/e1ee2         ee2         f                   Z= G d0 d1e1          Z> e
d2           G d3 d4                      Z? G d5 d6e          Z@ ed7d89          ZA G d: d8          ZB G d; d<e          ZC G d= d>eB          ZD G d? d@eB          ZEdAe*dB<    G dC dAeB          ZF G dD dEeB          ZG G dF dGeB          ZH G dH dIe          ZI G dJ dKe          ZJ edLe9          ZK G dM dNeeK                   ZLeMee2e7f                  ZN G dO dPe          ZO G dQ dRe          ZP G dS dTe          ZQ G dU dVeB          ZR G dW dXeB          ZS G dY dZeB          ZT G d[ d\eB          ZU G d] d^eB          ZV eD            ZW eE            ZX eF            ZY eG            ZZ eH            Z[ eR            Z\ eS            Z] eT            Z^ eU            Z_ eV            Z`d_ ZadS )b    )annotationsN)	dataclass)contextmanager)castAnyCallable	GeneratorGenericOptionalProtocolTypeTypeVar	TypedDictTYPE_CHECKINGUnion)getenvgetenv_bool   )CacheManagerRemoteCacheBackend)JitFunctionInfoKernelParam)	ASTSourceLazyDictIRSourcec                      e Zd ZdS )EnvN)__name__
__module____qualname__     d/var/www/html/bestrading.cuttalo.com/models/btc_v9/venv/lib/python3.11/site-packages/triton/knobs.pyr   r      s        Dr"   r   Tboolpropagate_envkeystrvalueOptional[str]returnNonec                x    t           sd S ||t          j        | <   d S | t          j        v rt          j        | = d S d S N)r%   osenviron)r&   r(   s     r#   setenvr0       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)r1   ts     r#   toenvr9   *   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ddZddZddZddZ	dS ) env_baser&   r'   r*   r+   c                    || _         d S r-   )r&   )selfr&   s     r#   __init__zenv_base.__init__E   s    r"   objclassType[object]namec                    || _         d S r-   )rC   )r?   rA   rC   s      r#   __set_name__zenv_base.__set_name__H   s    			r"   objOptional[object]Optional[Type[object]]r;   c                    |j                             | j        t                    }|t          u r|                                 S |                     |          S r-   )__dict__getrC   _NOTHING	transform)r?   rF   rA   py_vals       r#   __get__zenv_base.__get__K   sF    !!$)X66X88::~~f%%%r"   c                    t                      r-   )NotImplementedErrorr?   s    r#   rK   zenv_base.getQ   s    !###r"   objectr(   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   rJ   poprC   r9   r0   r&   )r?   rF   r(   env_vals       r#   __set__zenv_base.__set__T   s{    eS!! 	-LTY-----&+CL#,,&w -tx,,,,,- -r"   c                F    |j                             | j        d            d S r-   )rJ   rW   rC   )r?   rF   s     r#   
__delete__zenv_base.__delete__\   s"    D)))))r"   r1   r:   c                ,    t          t          |          S r-   )r   r;   )r?   r1   s     r#   rM   zenv_base.transform_   s     GS!!!r"   N)r&   r'   r*   r+   )rA   rB   rC   r'   r*   r+   )rF   rG   rA   rH   r*   r;   )r*   r;   )rF   rS   r(   rT   r*   r+   )rF   rS   r*   r+   )r1   r:   r*   r;   )
r   r   r    r@   rE   rO   rK   rY   r[   rM   r!   r"   r#   r=   r=   C   s              & & & &$ $ $ $- - - -* * * *" " " " " "r"   r=   c                  (     e Zd Zd fdZddZ xZS )	env_strr&   r'   defaultc                X    t                                          |           || _        d S r-   superr@   r_   r?   r&   r_   	__class__s      r#   r@   zenv_str.__init__g   &    r"   r*   c                6    t          | j        | j                  S r-   )r   r&   r_   rR   s    r#   rK   zenv_str.getk   s    dh---r"   )r&   r'   r_   r'   r*   r'   r   r   r    r@   rK   __classcell__rd   s   @r#   r^   r^   e   sQ             . . . . . . . .r"   r^   c                  (     e Zd Zd fdZd	dZ xZS )
env_str_callable_defaultr&   r'   default_factoryCallable[[], str]c                X    t                                          |           || _        d S r-   )rb   r@   rm   )r?   r&   rm   rd   s      r#   r@   z!env_str_callable_default.__init__q   s)    .r"   r*   c                Z    t          | j                  }||                                 S |S r-   )r   r&   rm   )r?   rX   s     r#   rK   zenv_str_callable_default.getu   s-    ""?'')))r"   )r&   r'   rm   rn   rg   rh   rj   s   @r#   rl   rl   o   sQ        / / / / / /       r"   rl   c                  *     e Zd Zd
d fdZdd	Z xZS )env_boolFr&   r'   r_   r$   r*   r+   c                X    t                                          |           || _        d S r-   ra   rc   s      r#   r@   zenv_bool.__init__~   re   r"   c                6    t          | j        | j                  S r-   )r   r&   r_   rR   s    r#   rK   zenv_bool.get   s    48T\222r"   F)r&   r'   r_   r$   r*   r+   )r*   r$   rh   rj   s   @r#   rr   rr   |   sV              3 3 3 3 3 3 3 3r"   rr   c                  *     e Zd Zd
d fdZdd	Z xZS )env_intr   r&   r'   r_   r7   r*   r+   c                X    t                                          |           || _        d S r-   ra   rc   s      r#   r@   zenv_int.__init__   re   r"   c                    t          | j                  }|| j        S 	 t          |          S # t          $ r!}t          d| j         d| d          |d }~ww xY w)NzUnable to use =z: expected int)r   r&   r_   r7   
ValueErrorRuntimeError)r?   r1   excs      r#   rK   zenv_int.get   sy    TX;<	Ys88O 	Y 	Y 	YNNN3NNNOOUXX	Ys   . 
AAA)r   )r&   r'   r_   r7   r*   r+   r*   r7   rh   rj   s   @r#   rw   rw      s^              Y Y Y Y Y Y Y Yr"   rw   	ClassTypec                  (     e Zd Zd	 fdZd
dZ xZS )	env_classr&   r'   r6   r*   r+   c                X    t                                          |           || _        d S r-   )rb   r@   r6   )r?   r&   r6   rd   s      r#   r@   zenv_class.__init__   s&    			r"   Optional[Type[ClassType]]c           	         t           j                  }|d S |                    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   r6   ).0cr?   s     r#   	<genexpr>z env_class.get.<locals>.<genexpr>   s,      ??AJ$)+??????r"   zUnable to use 'z' from z: not of type '')r   r&   splitlenr|   getattr	importlibimport_moduleanymror6   r   r   r   )r?   r1   compsclss   `   r#   rK   zenv_class.get   s    TX;4		#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'   r6   r'   r*   r+   )r*   r   rh   rj   s   @r#   r   r      sQ             
* * * * * * * *r"   r   c                  V    e Zd ZU ded<   ded<   eej        dd                        ZdS )	
NvidiaToolr'   pathversionr*   Optional[NvidiaTool]c                8   	 t          j        | dgt           j                  }t          j        d|                    d          t          j                  }|d S t          | |                    d                    S # t           j	        t          f$ 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FileNotFoundError)r   resultr   s      r#   	from_pathzNvidiaTool.from_path   s    	,dK-@IZ[[[Fi 96==;Q;QY[YefffGtdGMM!$4$4555-/@A 	 	 	44	s   AA? "A? ?BBN)r   r'   r*   r   )r   r   r    __annotations__staticmethod	functools	lru_cacher   r!   r"   r#   r   r      sT         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*   r+   c                n   |t          j        d          z  }|| _        t          j                            t          j                            t                    ddd|          | _        t                      
                    d|                                                    dd           d           d S )	NEXEbackendsnvidiabinTRITON_-__PATH)	sysconfigget_config_varr   r.   r   joindirname__file__default_pathrb   r@   upperreplace)r?   r   rd   s     r#   r@   zenv_nvidia_tool.__init__   s    )*5111GLL)B)BJPXZ_aghhJ6<<>>#9#9#s#C#CJJJKKKKKr"   r   c                P    |                      t          | j                            S r-   )rM   r   r&   rR   s    r#   rK   zenv_nvidia_tool.get   s    ~~fTX..///r"   r   c                    |
|| j         g}n| j         g}|D ]"}t                              |          x}r|c S #t          d| j                   )NzCannot find )r   r   r   r|   r   )r?   r   pathstools       r#   rM   zenv_nvidia_tool.transform   sw     4,-EE&'E 	 	D!++D111t  7$+77888r"   )r   r'   r*   r+   )r*   r   )r   r'   r*   r   )r   r   r    r@   rK   rM   ri   rj   s   @r#   r   r      sk        L L L L L L0 0 0 09 9 9 9 9 9 9 9r"   r   c                      e Zd ZddZdS )env_opt_strr*   r)   c                *    t          | j                  S r-   )r   r&   rR   s    r#   rK   zenv_opt_str.get   s    dhr"   Nr*   r)   r   r   r    rK   r!   r"   r#   r   r      s(                   r"   r   c                      e Zd ZddZdS )env_opt_boolr*   r)   c                ,    t          | j        d           S r-   )r   r&   rR   s    r#   rK   zenv_opt_bool.get   s    48T***r"   Nr   r   r!   r"   r#   r   r      s(        + + + + + +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.
    r7   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   rR   s    r#   total_loweringzCompileTimes.total_lowering   s"    ??$*>???@@@r"   c                0    | j         | j        z   | j        z   S r-   )r   r   r   rR   s    r#   totalzCompileTimes.total   s    %(;;d>PPPr"   Nr~   )r   r   r    __doc__r   propertyr   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*   r+   c                   d S r-   r!   )r?   r   r   r   r   r   s         r#   __call__zCompilationListener.__call__      r"   N)r   r   r   r   r   r   r   r   r   r$   r*   r+   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!   )rV   r=   )r   kvs      r#   
<dictcomp>z/base_knobs.knob_descriptors.<locals>.<dictcomp>  s@     
 
 
 1!X&&	
q
 
 
r"   )r6   rJ   itemsrR   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   r?   s     r#   r   z$base_knobs.knobs.<locals>.<dictcomp>  s%    JJJ74##JJJr"   )r   keysrR   s   `r#   knobszbase_knobs.knobs  s,    JJJJT-B-G-G-I-IJJJJr"   r?   r   c                r     t          |                       }|j                            | j                   |S r-   )r6   rJ   update)r?   ress     r#   copyzbase_knobs.copy  s0    d4jjllDM***
r"   c                ^    | j                                         D ]}t          | |           | S r-   )r   r   delattr)r?   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                B    i | ]}|j         t          |j                   S r!   )r&   r   )r   r  s     r#   r   z$base_knobs.scope.<locals>.<dictcomp>*  s&    aaa$48VDH%5%5aaar"   )	r   valuesdictrJ   clearr   r   r.   r/   )r?   initial_envorigr   r   s        r#   scopezbase_knobs.scope'  s:     	&aa$BWB^B^B`B`aaaK&&DEEEM!!!M  &&&#))++ & &1=$%BJqMM"*__
1	& & M!!!M  &&&#))++ & &1=$%BJqMM"*__
1	&s   ;B; ;A<D7N)r*   r   )r*   r   )r?   r   r*   r   )r*   r  )
r   r   r    r   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 )	BuildImplrC   r'   r   srcdirlibrary_dirs	list[str]include_dirs	librariesr*   c                   d S r-   r!   )r?   rC   r   r  r  r  r  s          r#   r   zBuildImpl.__call__:  r   r"   N)rC   r'   r   r'   r  r'   r  r  r  r  r  r  r*   r'   r   r!   r"   r#   r  r  8  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>J  s    [[[$JZJZJZJZr"   )r  r  rR   s    r#   backend_dirszbuild_knobs.backend_dirsH  s!    [[$"3T5E!F[[[[r"   )r*   r  )r   r   r    r   r   r  r   r  r  r  r   r!  r!   r"   r#   r  r  ?  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}r^   
key_formatTRITON_REDIS_HOST	localhosthostTRITON_REDIS_PORTi  rw   portN)	r   r   r    r^   r%  r   r(  rw   r*  r!   r"   r#   r#  r#  M  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ej                            d                    Zded<    e	dd           Z
 e	dd           Z e	d	d
           Z edd          Zded<    edd          Zded<   ddZdS )r+  TRITON_HOMEz~/r^   home_dirTRITON_DUMP_DIRc                 6    t                               d          S )Ndumpr,  get_triton_dirr!   r"   r#   <lambda>zcache_knobs.<lambda>Y  s    5CWCWX^C_C_ r"   TRITON_OVERRIDE_DIRc                 6    t                               d          S )Noverrider3  r!   r"   r#   r5  zcache_knobs.<lambda>Z  s    5K_K_`jKkKk r"   TRITON_CACHE_DIRc                 6    t                               d          S )Nr,  r3  r!   r"   r#   r5  zcache_knobs.<lambda>[  s    u?S?ST[?\?\ r"   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   r/  )r?   r   s     r#   r4  zcache_knobs.get_triton_dir`  s    w||DM9g>>>r"   N)r   r'   r*   r'   )r   r   r    r^   r.   r   
expanduserr/  r   rl   dump_diroverride_dirdirr   r<  r>  r4  r!   r"   r#   r+  r+  V  s         rw/A/A$/G/GHHHHHHH''(9;_;_``H++,ACkCkllL
"
"#57\7\
]
]C-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<    ed          Zded<    edd                                          Zded<   dZded<   dS )compilation_knobsTRITON_KERNEL_OVERRIDErr   r8  TRITON_KERNEL_DUMPdump_irLLVM_EXTRACT_DI_LOCAL_VARIABLES"dump_ir_extract_di_local_variables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_globalsTRITON_INSTRUMENTATION_MODE r'   instrumentation_modeNz Union[CompilationListener, None]listener)r   r   r    rr   r8  r   rH  rJ  rL  rN  r   rP  rR  rT  rV  rX  r^   rK   r[  r\  r!   r"   r#   rE  rE  d  sl        !":;;H;;;; !566G66663;8<]3^3^&^^^^"*(+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Z !((Er J J N N P PPPPP15H555555r"   rE  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   r,  TRITON_PRINT_AUTOTUNINGprintN)r   r   r    rr   r,  r   ra  r!   r"   r#   r^  r^  v  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ZddZdS )	
LaunchHookz3Hook invoked before and after kernel launching
    r   r   r*   r+   c                    d S r-   r!   )r?   r   s     r#   r   zLaunchHook.__call__      r"   N)r   r   r*   r+   r   r   r    r   r   r!   r"   r#   rc  rc  {  s2              r"   rc  c                      e Zd ZdZddZdS )InitHandleHookz}Hook invoked around kernel binary/module loading.
    module/function can be None for the *start* hook (before loading).
    modulerG   functionOptional[Callable]rC   r'   r   r   hashr*   r+   c                    d S r-   r!   )r?   ri  rj  rC   r   rl  s         r#   r   zInitHandleHook.__call__  s	     	r"   N)ri  rG   rj  rk  rC   r'   r   r   rl  r'   r*   r+   rf  r!   r"   r#   rh  rh    s2              r"   rh  Fc                  2    e Zd ZdZdddZdd
ZddZd ZdS )	HookChainz?A chain of hooks of the same type F to be called in order.
    Freversedr$   c                "    g | _         || _        d S r-   )callsrq  )r?   rq  s     r#   r@   zHookChain.__init__  s     
 r"   funcrn  r*   r+   c                P    || j         vr| j                             |           d S d S r-   )rs  appendr?   rt  s     r#   addzHookChain.add  s3    tz!!Jd##### "!r"   c                P    || j         v r| j                             |           d S d S r-   )rs  removerw  s     r#   rz  zHookChain.remove  s3    4:Jd##### r"   c                `    | j         s| j        nt          | j                  D ]
} ||i | d S r-   )rq  rs  )r?   argskwargscalls       r#   r   zHookChain.__call__  sJ    &*mMDJJ$*9M9M 	" 	"DD$!&!!!!	" 	"r"   Nru   )rq  r$   )rt  rn  r*   r+   )r   r   r    r   r@   rx  rz  r   r!   r"   r#   rp  rp    sn         ! ! ! ! !$ $ $ $$ $ $ $" " " " "r"   rp  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]	signaturer7   devicer+   	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#   r  r    s         HHH%%%%KKKOOONNNMMMOOO!!!!,,,,::::OOOOOr"   r  c                      e Zd ZddZdS )JITHookr&   r'   reprfnr   compiler  is_manual_warmupr$   already_compiledr*   Optional[bool]c                   d S r-   r!   )r?   r&   r  r  r  r  r  s          r#   r   zJITHook.__call__  r   r"   N)r&   r'   r  r'   r  r   r  r  r  r$   r  r$   r*   r  r   r!   r"   r#   r  r    r   r"   r  c                      e Zd Zd ZdS )PipelineStagesHookc                    d S r-   r!   )r?   stagesoptionslanguage
capabilitys        r#   r   zPipelineStagesHook.__call__  re  r"   Nr   r!   r"   r#   r  r    s#            r"   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
            Zd
ed<    e
d          Zd
ed<    e
            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S )runtime_knobsTRITON_INTERPRETrr   	interpretTRITON_DEBUGr$   debugTRITON_OVERRIDE_ARCHr   override_archzHookChain[LaunchHook]launch_enter_hookT)rq  launch_exit_hookzHookChain[InitHandleHook]kernel_load_start_hookkernel_load_end_hookNzOptional[JITHook]jit_cache_hookjit_post_compile_hookzOptional[PipelineStagesHook]add_stages_inspection_hook)r   r   r    rr   r  r   rK   r  r   r  rp  r  r  r  r  r  r  r  r!   r"   r#   r  r    s        "(#566I6666 (>**..00E0000!,-C!D!DMDDDD/8y{{::::.7i.F.F.FFFFF8A	CCCC6?i6N6N6NNNNN )-N,,,, 043333 @DCCCCCCr"   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                  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<    ed          Zded<   dS )nvidia_knobs	cuobjdumpr   nvdisasmptxaszptxas-blackwellptxas_blackwellNVPTX_ENABLE_DUMPrr   
dump_nvptxDISABLE_PTXAS_OPTdisable_ptxas_optPTXAS_OPTIONSr   ptxas_optionsTRITON_MOCK_PTX_VERSIONmock_ptx_versionTRITON_DUMP_PTXAS_LOGdump_ptxas_logTRITON_LIBDEVICE_PATHlibdevice_pathTRITON_LIBCUDA_PATHlibcuda_pathN)r   r   r    r   r  r   r  r  r  rr   r  r  r   r  r  r  r  r  r!   r"   r#   r  r    sD        !0!=!=I==== /
 ; ;H;;;;,_W55E5555'67H'I'IOIIII#8$788J8888"*(+>"?"?????!,_!=!=M====$/K0I$J$JJJJJ'x(?@@N@@@@"-+.E"F"FNFFFF +,A B BLBBBBBBr"   r  c                  6   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
          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_OPSTrr   use_buffer_opsAMDGCN_USE_BUFFER_ATOMICSuse_buffer_atomics!AMDGCN_ANALYZE_SMALL_TENSOR_RANGEF%buffer_ops_analyze_small_tensor_rangeAMDGCN_ENABLE_DUMPdump_amdgcnTRITON_LIBHIP_PATHr   libhip_pathTRITON_HIP_USE_BLOCK_PINGPONGr   use_block_pingpong"TRITON_HIP_USE_IN_THREAD_TRANSPOSEuse_in_thread_transpose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    s        'x(?FFNFFFF#+8,G#N#NNNNN6>h?bdi6j6j)jjjj$H%9::K::::*{+?@@K@@@@ (4|4S'T'TTTTT,8L9],^,^^^^^'x(CDDNDDDD&.h/M&N&NNNNNNNr"   r  c                      e Zd ZU  edd          Zded<    ed e ej	        e
          j                                        dz  dz  dz  d	z                      Zd
ed<    edd          Zded<   dS )proton_knobsTRITON_PROTON_DISABLEFrr   disableTRITON_CUPTI_LIB_PATHr   r   libcuptir^   cupti_lib_dirTRITON_ENABLE_NVTXTenable_nvtxN)r   r   r    rr   r  r   r^   r'   pathlibPathr   parentabsoluter  r  r!   r"   r#   r  r  	  s          !8%@@G@@@@$WLGL"")2244zAHLuTW^^__a aM a a a a %H%94@@K@@@@@@r"   r  c                     t          d                                          t          _        t	          dd                                          t
          _        d S )Nr  rY  rZ  )rr   rK   runtimer  r^   compilationr[  r!   r"   r#   refresh_knobsr    sB    ^,,0022GM'./Lb'Q'Q'U'U'W'WK$$$r"   )r&   r'   r(   r)   r*   r+   )r1   r   r*   r2   )b
__future__r   r   r   r.   r   r   r   r  dataclassesr   
contextlibr   typingr   r   r   r	   r
   r   r   r   r   r   r   r   triton._C.libtritonr   r   runtime.cacher   r   runtime.jitr   r   compiler.compilerr   r   r   r   envr%   r   r0   r9   r:   r;   rS   rL   r=   r'   r^   rl   r$   rr   r7   rw   r   r   r   r   r   r   r   r   r   r   r  r  r#  r+  rE  r^  rc  rh  rn  rp  list
KernelAttrr  r  r  r  r  r  r  r  buildredisr,  r  
autotuningr  r  r   amdprotonr  r!   r"   r#   <module>r     s   " " " " " " "         				 				          ! ! ! ! ! ! % % % % % % ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 3 3 3 3 3 3 3 3 A????????99999999@@@@@@@@@@	 	 	 	 	 	 	 	 
cee          & ')


')

688" " " " "ww'( " " "D. . . . .hsCx  . . .
 
 
 
 
xS1 
 
 
3 3 3 3 3xd
# 3 3 3Y Y Y Y YhsCx  Y Y Y  GK  	* * * * *	"HXd9o-FQUV_Q`Ha-a$b * * *,        "9 9 9 9 9hsJ/ 9 9 98         (8C=(3-78      + + + + +8 + + + $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 : : :
           X     GCx   " " " " "
 " " ". %S/"
            h          D D D D DJ D D D,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"A A A A A: A A A 	!!

-//>	ikk	X X X X Xr"   