
    9i<?              
      H   % S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKJ	r	  S SK
Jr  S SKJrJrJrJrJrJrJrJrJrJrJrJr  S SKJrJr  \(       a  SSKJrJr  SS	KJ r J!r!  SS
K"J#r#J$r$J%r%   " S S5      r&\&" 5       r'Sr(S\)S'   SUS jr*SVS jr+\" S5      r,\" S5      r-\." 5       r/ " S S\\,\-4   5      r0 " S S\0\1\14   5      r2 " S S\0\1\14   5      r3 " S S\0\4\44   5      r5 " S S\0\6\64   5      r7\" S5      r8 " S S \\8   \0\\\8      \\\8      4   5      r9\	 " S! S"5      5       r: " S# S$\0\1\:4   5      r; " S% S&\0\\1   \\1   4   5      r< " S' S(\05      r=\	" SS)9 " S* S+5      5       r> " S, S-\5      r?\" S.S/S09r@ " S1 S/5      rA " S2 S3\5      rB " S4 S5\A5      rC " S6 S7\A5      rDS8\)S9'    " S: S8\A5      rE " S; S<\A5      rF " S= S>\A5      rG " S? S@\5      rH " SA SB\5      rI\" SC\S09rJ " SD SE\\J   5      rK\L\\1\64      rM " SF SG\5      rN " SH SI\5      rO " SJ SK\A5      rP " SL SM\A5      rQ " SN SO\A5      rR " SP SQ\A5      rS " SR SS\A5      rT\C" 5       rU\D" 5       rV\E" 5       rW\F" 5       rX\G" 5       rY\P" 5       rZ\Q" 5       r[\R" 5       r\\S" 5       r]\T" 5       r^ST r_g)W    )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                      \ rS rSrSrg)Env    N)__name__
__module____qualname____firstlineno____static_attributes__r       L/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/triton/knobs.pyr   r      s    r%   r   Tboolpropagate_envc                    [         (       d  g Ub  U[        R                  U '   g U [        R                  ;   a  [        R                  U 	 g g N)r(   osenviron)keyvalues     r&   setenvr/      s9    =

3	

	JJsO 
r%   c                    U c  g[        U 5      nU[        L a  U (       a  S4$ S4$ U[        L a  U 4$ U[        L a  [        U 5      4$ g )Nr*   10)typer'   strint)valts     r&   toenvr8   )   sQ    
{S	ADy&&&&CxwCxC|r%   SetTypeGetTypec                  Z    \ rS rSrSS jrSS jrSS jrSS jrSS jrSS jr	SS jr
S	rg
)env_baseB   c                    Xl         g r*   )r-   )selfr-   s     r&   __init__env_base.__init__D   s    r%   c                    X l         g r*   )name)r?   objclassrC   s      r&   __set_name__env_base.__set_name__G   s    	r%   c                    UR                   R                  U R                  [        5      nU[        L a  U R                  5       $ U R	                  U5      $ r*   )__dict__getrC   _NOTHING	transform)r?   objrD   py_vals       r&   __get__env_base.__get__J   s?    !!$))X6X88:~~f%%r%   c                    [        5       er*   )NotImplementedErrorr?   s    r&   rI   env_base.getP   s    !##r%   c                   [        U[        5      (       a'  UR                  R                  U R                  S 5        g X!R                  U R                  '   [        U5      =n(       a  [        U R                  US   5        g g )Nr   )
isinstancer   rH   poprC   r8   r/   r-   )r?   rL   r.   env_vals       r&   __set__env_base.__set__S   s]    eS!!LLTYY-&+LL#,&w&txx, 'r%   c                P    UR                   R                  U R                  S 5        g r*   )rH   rV   rC   )r?   rL   s     r&   
__delete__env_base.__delete__[   s    D)r%   c                "    [        [        U5      $ r*   )r   r:   )r?   r6   s     r&   rK   env_base.transform^   s     GS!!r%   )r-   rC   N)r-   r4   returnNone)rD   zType[object]rC   r4   r_   r`   )rL   Optional[object]rD   zOptional[Type[object]]r_   r:   )r_   r:   )rL   objectr.   zUnion[SetType, Env]r_   r`   )rL   rb   r_   r`   )r6   r9   r_   r:   )r    r!   r"   r#   r@   rE   rN   rI   rX   r[   rK   r$   r   r%   r&   r<   r<   B   s%    &$-*"r%   r<   c                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )env_strd   c                0   > [         TU ]  U5        X l        g r*   superr@   defaultr?   r-   ri   	__class__s      r&   r@   env_str.__init__f       r%   c                B    [        U R                  U R                  5      $ r*   )r   r-   ri   rR   s    r&   rI   env_str.getj   s    dhh--r%   ri   )r-   r4   ri   r4   r_   r4   r    r!   r"   r#   r@   rI   r$   __classcell__rk   s   @r&   rd   rd   d   s    . .r%   rd   c                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )env_str_callable_defaultn   c                0   > [         TU ]  U5        X l        g r*   )rh   r@   default_factory)r?   r-   ry   rk   s      r&   r@   !env_str_callable_default.__init__p   s    .r%   c                V    [        U R                  5      nUc  U R                  5       $ U$ r*   )r   r-   ry   )r?   rW   s     r&   rI   env_str_callable_default.gett   s)    "?''))r%   )ry   )r-   r4   ry   zCallable[[], str]rq   rr   rt   s   @r&   rv   rv   n   s    / r%   rv   c                  :   ^  \ rS rSrSSU 4S jjjrSS jrSrU =r$ )env_bool{   c                0   > [         TU ]  U5        X l        g r*   rg   rj   s      r&   r@   env_bool.__init__}   rm   r%   c                B    [        U R                  U R                  5      $ r*   )r   r-   ri   rR   s    r&   rI   env_bool.get   s    488T\\22r%   rp   F)r-   r4   ri   r'   r_   r`   )r_   r'   rr   rt   s   @r&   r~   r~   {   s     3 3r%   r~   c                  :   ^  \ rS rSrSSU 4S jjjrSS jrSrU =r$ )env_int   c                0   > [         TU ]  U5        X l        g r*   rg   rj   s      r&   r@   env_int.__init__   rm   r%   c                    [        U R                  5      nUc  U R                  $  [        U5      $ ! [         a"  n[        SU R                   SU S35      UeS nAff = f)NzUnable to use =z: expected int)r   r-   ri   r5   
ValueErrorRuntimeError)r?   r6   excs      r&   rI   env_int.get   sa    TXX;<<	Ys8O 	Yz3%~NOUXX	Ys   
1 
AAArp   )r   )r-   r4   ri   r5   r_   r`   r_   r5   rr   rt   s   @r&   r   r      s     Y Yr%   r   	ClassTypec                  6   ^  \ rS rSrSU 4S jjrSS jrSrU =r$ )	env_class   c                0   > [         TU ]  U5        X l        g r*   )rh   r@   r3   )r?   r-   r3   rk   s      r&   r@   env_class.__init__   s    	r%   c           	       ^  [        T R                  5      nUc  g UR                  SS5      n[        U5      S:w  a  [	        ST R                   SU S35      e[        [        R                  " US   5      US   5      n[        U 4S jUR                  5        5       5      (       d)  [	        S	U S
T R                   ST R                   S35      e[        [        [           U5      $ )N:r      zUnable to read z: 'z ' isn't of the form MODULE:CLASSr   c              3  T   >#    U  H  oR                   TR                  :H  v   M     g 7fr*   )r    r3   ).0cr?   s     r&   	<genexpr> env_class.get.<locals>.<genexpr>   s     ?YJJ$))+Ys   %(zUnable to use 'z' from z: not of type '')r   r-   splitlenr   getattr	importlibimport_moduleanymror3   r   r   r   )r?   r6   compsclss   `   r&   rI   env_class.get   s    TXX;		#q!u:?
#cUBbcddi--eAh7qB?SWWY?@@WTXXJoVZV_V_U``abccDOS))r%   )r3   )r-   r4   r3   r4   r_   r`   )r_   zOptional[Type[ClassType]]rr   rt   s   @r&   r   r      s    
* *r%   r   c                  \    \ rS rSr% S\S'   S\S'   \\R                  SS j5       5       rSr	g)	
NvidiaTool   r4   pathversionc                0    [         R                  " U S/[         R                  S9n[        R                  " SUR                  S5      [        R                  S9nUc  g [        XR                  S5      5      $ ! [         R                  [        4 a     g f = f)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_pathNvidiaTool.from_path   s    	,,dK-@IZIZ[Fii 96==;QY[YeYefGdMM!$455--/@A 		s   AA8 A8 8BBr   N)r   r4   r_   zOptional[NvidiaTool])
r    r!   r"   r#   __annotations__staticmethod	functools	lru_cacher   r$   r   r%   r&   r   r      s,    
IL  r%   r   c                  @   ^  \ rS rSrSU 4S jjrSS jrSS jrSrU =r$ )	env_nvidia_tool   c                  > U[         R                  " S5      -  nXl        [        R                  R                  [        R                  R                  [        5      SSSU5      U l        [        TU ])  SUR                  5        S35        g )NEXEbackendsnvidiabinTRITON__PATH)	sysconfigget_config_varbinaryr+   r   joindirname__file__default_pathrh   r@   upper)r?   r   rk   s     r&   r@   env_nvidia_tool.__init__   sg    )**511GGLL)BJPXZ_agh76<<>"2%89r%   c                J    U R                  [        U R                  5      5      $ r*   )rK   r   r-   rR   s    r&   rI   env_nvidia_tool.get   s    ~~fTXX.//r%   c                    Ub  XR                   /nOU R                   /nU H#  n[        R                  U5      =n(       d  M!  Us  $    [        SU R                   35      e)NzCannot find )r   r   r   r   r   )r?   r   pathstools       r&   rK   env_nvidia_tool.transform   sc     ,,-E&&'ED!++D11t1  \$++788r%   )r   r   )r   r4   r_   r`   )r_   r   )r   r4   r_   r   )	r    r!   r"   r#   r@   rI   rK   r$   rs   rt   s   @r&   r   r      s    :09 9r%   r   c                      \ rS rSrSS jrSrg)env_opt_str   c                ,    [        U R                  5      $ r*   )r   r-   rR   s    r&   rI   env_opt_str.get   s    dhhr%   r   Nr_   Optional[str]r    r!   r"   r#   rI   r$   r   r%   r&   r   r      s     r%   r   c                      \ rS rSrSS jrSrg)env_opt_bool   c                .    [        U R                  S 5      $ r*   )r   r-   rR   s    r&   rI   env_opt_bool.get   s    488T**r%   r   Nr   r   r   r%   r&   r   r      s    +r%   r   )frozenc                  `    \ rS rSr% SrS\S'   S\S'   S\S'   \SS j5       r\SS	 j5       rS
r	g)CompileTimes   za
Model holding timing information for an invocation of the compiler.

All times in microseconds.
r5   ir_initializationzlist[tuple[str, int]]lowering_stagesstore_resultsc                :    [        S U R                   5       5      $ )Nc              3  *   #    U  H	  oS    v   M     g7f)r   Nr   )r   stages     r&   r   .CompileTimes.total_lowering.<locals>.<genexpr>   s     ?*>!H*>s   )sumr   rR   s    r&   total_loweringCompileTimes.total_lowering   s    ?$*>*>?@@r%   c                N    U R                   U R                  -   U R                  -   $ r*   )r   r   r   rR   s    r&   totalCompileTimes.total   s$    %%(;(;;d>P>PPPr%   r   Nr   )
r    r!   r"   r#   __doc__r   propertyr   r   r$   r   r%   r&   r   r      sI      +* A A Q Qr%   r   c                  *    \ rS rSr      SS jrSrg)CompilationListeneri  c                   g r*   r   )r?   srcmetadatametadata_grouptimes	cache_hits         r&   __call__CompilationListener.__call__      r%   r   N)r   zUnion[ASTSource, IRSource]r   dict[str, Any]r  dict[str, str]r  r   r  r'   r_   r`   r    r!   r"   r#   r  r$   r   r%   r&   r   r     s    $15:>r%   r   
knobs_type
base_knobs)boundc                  d    \ rS rSr\S	S j5       r\S
S j5       rSS jrSS jr\	SS j5       r
Srg)r  i  c                    [        U 5      R                  R                  5        VVs0 s H  u  p[        U[        5      (       d  M  X_M      snn$ s  snnf r*   )r3   rH   itemsrU   r<   )r?   kvs      r&   knob_descriptorsbase_knobs.knob_descriptors  sN    
 T
++113
 4!X& AD3
 	
 
s   AAc                t    U R                   R                  5        Vs0 s H  o[        X5      _M     sn$ s  snf r*   )r  keysr   )r?   r  s     r&   knobsbase_knobs.knobs  s3    -1-B-B-G-G-IJ-I74##-IJJJs   5c                p    [        U 5      " 5       nUR                  R                  U R                  5        U$ r*   )r3   rH   update)r?   ress     r&   copybase_knobs.copy  s(    4jlDMM*
r%   c                ^    U R                   R                  5        H  n[        X5        M     U $ r*   )r  r  delattr)r?   knobs     r&   resetbase_knobs.reset   s(    ))..0DD 1r%   c              #    #     U R                   R                  5        Vs0 s H"  oR                  [        UR                  5      _M$     nn[	        U R
                  5      nS v   U R
                  R                  5         U R
                  R                  U5        UR                  5        HD  u  pEUb  U[        R                  U'   M  U[        R                  ;   d  M3  [        R                  U	 MF     g s  snf ! U R
                  R                  5         U R
                  R                  W5        WR                  5        HD  u  pEUb  U[        R                  U'   M  U[        R                  ;   d  M3  [        R                  U	 MF     f = f7fr*   )r  valuesr-   r   dictrH   clearr  r  r+   r,   )r?   r  initial_envorigr  r  s         r&   scopebase_knobs.scope%  s    	&BFBWBWB^B^B`aB`$88VDHH%55B`Ka&DMM!MM  &#))+=$%BJJqM"**_

1	 , b MM!MM  &#))+=$%BJJqM"**_

1	 ,s;   F	C7 )C2	C7 $A4F	F	2C7 7A5F0FF	r   N)r_   zdict[str, env_base])r_   r  )r?   r
  r_   r
  )r_   zGenerator[None, None, None])r    r!   r"   r#   r   r  r  r  r   r   r(  r$   r   r%   r&   r  r    sH    
 
 K K

 & &r%   c                  &    \ rS rSr    SS jrSrg)	BuildImpli6  c                   g r*   r   )r?   rC   r   srcdirlibrary_dirsinclude_dirs	librariess          r&   r  BuildImpl.__call__8  r  r%   r   N)rC   r4   r   r4   r-  r4   r.  	list[str]r/  r2  r0  r2  r_   r4   r	  r   r%   r&   r+  r+  6  s    %-0r%   r+  c                      \ rS rSr% Sr\" S5      rS\S'   \" S5      rS\S'   \" S5      r	S\S	'   S
r
S\S'   \SS j5       rSrg
)build_knobsi=  z<Configuration controlling how the native compiler is invokedCCr   ccTRITON_CUDACRT_PATHcudacrt_pathTRITON_CUDART_PATHcudart_pathNzOptional[BuildImpl]implc                f    U R                   U R                  4 Vs1 s H	  oc  M  UiM     sn$ s  snf r*   )r8  r:  )r?   r   s     r&   backend_dirsbuild_knobs.backend_dirsF  s-    "&"3"3T5E5E!F[!F!F[[[s   ..r   )r_   zset[str])r    r!   r"   r#   r   r   r6  r   r8  r:  r;  r   r=  r$   r   r%   r&   r4  r4  =  sS    F!$'B' +,A BL+B*+?@K@ $D
$\ \r%   r4  c                  j    \ rS rSr% \" SS5      rS\S'   \" SS5      rS\S'   \" S	S
5      r	S\S'   Sr
g)redis_knobsiK  TRITON_REDIS_KEY_FORMATztriton:{key}:{filename}rd   
key_formatTRITON_REDIS_HOST	localhosthostTRITON_REDIS_PORTi  r   portr   N)r    r!   r"   r#   rd   rB  r   rE  r   rG  r$   r   r%   r&   r@  r@  K  s9    !";=VWJW/=D'=/6D'6r%   r@  cache_knobscachec                      \ rS rSr% \" S\R                  R                  S5      5      rS\	S'   \
" SS 5      r\
" SS	 5      r\
" S
S 5      r\" SS5      rS\	S'   \" SS5      rS\	S'   SS jrSrg)rH  iT  TRITON_HOMEz~/rd   home_dirTRITON_DUMP_DIRc                 ,    [         R                  S5      $ )NdumprI  get_triton_dirr   r%   r&   <lambda>cache_knobs.<lambda>W  s    5CWCWX^C_r%   TRITON_OVERRIDE_DIRc                 ,    [         R                  S5      $ )NoverriderP  r   r%   r&   rR  rS  X  s    5K_K_`jKkr%   TRITON_CACHE_DIRc                 ,    [         R                  S5      $ )NrI  rP  r   r%   r&   rR  rS  Y  s    u?S?ST[?\r%   TRITON_CACHE_MANAGERr   zenv_class[CacheManager]manager_classTRITON_REMOTE_CACHE_BACKENDr   zenv_class[RemoteCacheBackend]remote_manager_classc                X    [         R                  R                  U R                  SU5      $ )Nz.triton)r+   r   r   rL  )r?   r   s     r&   rQ  cache_knobs.get_triton_dir^  s    ww||DMM9g>>r%   r   N)r   r4   r_   r4   )r    r!   r"   r#   rd   r+   r   
expanduserrL  r   rv   dump_diroverride_dirdirr   rZ  r\  rQ  r$   r   r%   r&   rH  rH  T  sy    rww/A/A$/GHHgH'(9;_`H+,ACklL
"#57\
]C-67M~-^M*^:CDacw:x7x?r%   c                  (   \ rS rSr% \" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   \" S	5      r	S\S
'   \
" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   SrS\S'   Srg)compilation_knobsib  TRITON_KERNEL_OVERRIDEr~   rV  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_globals!TRITON_ENABLE_EXPERIMENTAL_CONSANenable_experimental_consanNz Union[CompilationListener, None]listenerr   )r    r!   r"   r#   r~   rV  r   rg  ri  rk  r   rm  ro  rq  rs  ru  rw  rx  r$   r   r%   r&   rd  rd  b  s    !":;Hh; !56GX6"*+E"FxF'(?@NH@),7J7$%9:K:"*+E"FxF$,-I$JJ,45Y,ZZ+34W+XX15H.5r%   rd  c                  J    \ rS rSr% \" S5      rS\S'   \" S5      rS\S'   Srg)	autotuning_knobsiq  TRITON_CACHE_AUTOTUNINGr~   rI  TRITON_PRINT_AUTOTUNINGprintr   N)	r    r!   r"   r#   r~   rI  r   r}  r$   r   r%   r&   rz  rz  q  s"    89E8989E89r%   rz  c                  "    \ rS rSrSrSS jrSrg)
LaunchHookiv  z3Hook invoked before and after kernel launching
    c                    g r*   r   )r?   r   s     r&   r  LaunchHook.__call__z  s    r%   r   N)r   r   r_   r`   r    r!   r"   r#   r   r  r$   r   r%   r&   r  r  v  s    r%   r  c                  :    \ rS rSrSr            SS jrSrg)InitHandleHooki~  zuHook invoked around kernel binary/module loading.
module/function can be None for the *start* hook (before loading).
c                    g r*   r   )r?   modulefunctionrC   r  hashs         r&   r  InitHandleHook.__call__  s     	r%   r   N)r  ra   r  zOptional[Callable]rC   r4   r  r  r  r4   r_   r`   r  r   r%   r&   r  r  ~  sF      % 	
 '  
r%   r  Fc                  @    \ rS rSrSrS	S
S jjrSS jrSS jrS rSr	g)	HookChaini  z?A chain of hooks of the same type F to be called in order.
    c                    / U l         Xl        g r*   callsreversed)r?   r  s     r&   r@   HookChain.__init__  s     
 r%   c                Z    XR                   ;  a  U R                   R                  U5        g g r*   )r  appendr?   funcs     r&   addHookChain.add  s#    zz!JJd# "r%   c                Z    XR                   ;   a  U R                   R                  U5        g g r*   )r  remover  s     r&   r  HookChain.remove  s#    ::JJd# r%   c                    U R                   (       d  U R                  O[        U R                  5       H  nU" U0 UD6  M     g r*   )r  r  )r?   argskwargscalls       r&   r  HookChain.__call__  s2    &*mmDJJ$**9MMD$!&! Nr%   r  Nr   )r  r'   )r  r  r_   r`   )
r    r!   r"   r#   r   r@   r  r  r  r$   r   r%   r&   r  r    s    !$$"r%   r  c                      \ rS rSr% S\S'   S\S'   S\S'   S\S	'   S\S
'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   Srg)JITHookCompileInfoi  r4   r-   zdict[KernelParam, str]	signaturer5   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_warmupr   N)r    r!   r"   r#   r   r$   r   r%   r&   r  r    sI    	H%%KONMO!!,,::Or%   r  c                  &    \ rS rSr    SS jrSrg)JITHooki  c                   g r*   r   )r?   r-   reprfncompileis_manual_warmupalready_compileds          r&   r  JITHook.__call__  r  r%   r   N)r-   r4   r  r4   r  r   r  r  r  r'   r  r'   r_   zOptional[bool]r	  r   r%   r&   r  r    s    #',:r%   r  c                      \ rS rSr% \" S5      rS\S'   \" S5      R                  5       rS\S'   \	" S5      r
S	\S
'   \" 5       rS\S'   \" SS9rS\S'   \" 5       rS\S'   \" SS9rS\S'   SrS\S'   SrS\S'   Srg)runtime_knobsi  TRITON_INTERPRETr~   	interpretTRITON_DEBUGr'   debugTRITON_OVERRIDE_ARCHr   override_archzHookChain[LaunchHook]launch_enter_hookT)r  launch_exit_hookzHookChain[InitHandleHook]kernel_load_start_hookkernel_load_end_hookNzOptional[JITHook]jit_cache_hookjit_post_compile_hookr   )r    r!   r"   r#   r~   r  r   rI   r  r   r  r  r  r  r  r  r  r  r$   r   r%   r&   r  r    s    "#56Ix6 >*..0E40!,-C!DM;D/8{,:.7.F+F8A5C6?6N3N )-N%, 04,3r%   r  c                  L    \ rS rSr% \" S5      rS\S'   \" SS5      rS\S'   S	r	g
)language_knobsi  TRITON_F32_DEFAULTr   fp32_defaultTRITON_DEFAULT_FP_FUSIONTr~   default_fp_fusionr   N)
r    r!   r"   r#   r   r  r   r~   r  r$   r   r%   r&   r  r    s%     +,@ AL+A"*+Et"LxLr%   r  c                      \ rS rSr% \" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   \	" S5      r
S\S'   \	" S	5      rS\S
'   \" S5      rS\S'   \	" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   Srg)nvidia_knobsi  	cuobjdumpr   nvdisasmptxasNVPTX_ENABLE_DUMPr~   
dump_nvptxDISABLE_PTXAS_OPTdisable_ptxas_optTRITON_MOCK_PTX_VERSIONr   mock_ptx_versionTRITON_DUMP_PTXAS_LOGdump_ptxas_logTRITON_LIBDEVICE_PATHlibdevice_pathTRITON_LIBCUDA_PATHlibcuda_pathr   N)r    r!   r"   r#   r   r  r   r  r  r~   r  r  r   r  r  r  r  r$   r   r%   r&   r  r    s    !0!=I= /
 ;Ho;,W5E?5#$78J8"*+>"?x?$/0I$JkJ'(?@NH@"-.E"FNKF +,A BL+Br%   r  c                     \ rS rSr% \" S5      rS\S'   \" SS5      rS\S'   \" S5      rS\S	'   \	" S
5      r
S\S'   \" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   \" S5      rS\S'   Srg)	amd_knobsi  AMDGCN_USE_BUFFER_OPSr~   use_buffer_opsAMDGCN_USE_BUFFER_ATOMICSTuse_buffer_atomics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_GLOBAL_PREFETCHr   global_prefetchTRITON_HIP_LOCAL_PREFETCHlocal_prefetchTRITON_HIP_USE_ASYNC_COPYuse_async_copyAMDGCN_SCALARIZE_PACKED_FOPSscalarize_packed_fopsr   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    '(?@NH@#+,G#NN$%9:K:*+?@K@ (44S'TT,89],^\^&'CDOWD%&ABNGB'(CDNHD&./M&N8Nr%   r  c                  0    \ rS rSr% \" S5      rS\S'   Srg)proton_knobsi  TRITON_CUPTI_LIB_PATHr   	cupti_dirr   N)r    r!   r"   r#   r   r  r   r$   r   r%   r&   r  r    s    ()@AI{Ar%   r  c                 H    [        S5      R                  5       [        l        g )Nr  )r~   rI   runtimer  r   r%   r&   refresh_knobsr  	  s    ^,002GMr%   )r-   r4   r.   r   r_   r`   )r6   r   r_   z!Union[None, tuple[Optional[str]]])`
__future__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   r/   r8   r9   r:   rb   rJ   r<   r4   rd   rv   r'   r~   r5   r   r   r   r   r   r   r   r   r   r
  r  r+  r4  r@  rH  rd  rz  r  r  r  r  list
KernelAttrr  r  r  r  r  r  r  buildredisrI  compilation
autotuningr  languager   amdprotonr  r   r%   r&   <module>r     s   "   	 	   ! % ~ ~ ~ ~ 3?9@@	 	 
et & )

)
8"ww'( "D.hsCx  .
xS1 
3xd
# 3YhsCx  Y  K 	*	"HXd9o-FQUV_Q`Ha-a$b *,   "9hsJ/ 96 (8C=(3-78  +8 + $Q Q Q4(  \6
'& '&T \* \7* 7  ?* ?6
 6:z :
 X   Cx "
 ". %S/"
  h 4J 4&MZ M
C: CO
 O"B: B 	!

/	k	3r%   