
    JinC              
      f   % 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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'   SWS jr+SXS jr,\" S5      r-\" S5      r.\/" 5       r0 " S S\\-\.4   5      r1 " S S\1\2\24   5      r3 " S S\1\2\24   5      r4 " S S\1\5\54   5      r6 " S S\1\7\74   5      r8\" S5      r9 " S S \\9   \1\\\9      \\\9      4   5      r:\
 " S! S"5      5       r; " S# S$\1\2\;4   5      r< " S% S&\1\\2   \\2   4   5      r= " S' S(\15      r>\
" SS)9 " S* S+5      5       r? " S, S-\5      r@\" S.S/S09rA " S1 S/5      rB " S2 S3\5      rC " S4 S5\B5      rD " S6 S7\B5      rES8\*S9'    " S: S8\B5      rF " S; S<\B5      rG " S= S>\B5      rH " S? S@\5      rI " SA SB\5      rJ\" SC\S09rK " SD SE\\K   5      rL\M\\2\74      rN " SF SG\5      rO " SH SI\5      rP " SJ SK\5      rQ " SL SM\B5      rR " SN SO\B5      rS " SP SQ\B5      rT " SR SS\B5      rU " ST SU\B5      rV\D" 5       rW\E" 5       rX\F" 5       rY\G" 5       rZ\H" 5       r[\R" 5       r\\S" 5       r]\T" 5       r^\U" 5       r_\V" 5       r`SV rag)Y    )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       N/var/www/html/dynamic-report/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_baseC   c                    Xl         g r*   )r-   )selfr-   s     r&   __init__env_base.__init__E   s    r%   c                    X l         g r*   )name)r?   objclassrC   s      r&   __set_name__env_base.__set_name__H   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__K   s?    !!$))X6X88:~~f%%r%   c                    [        5       er*   )NotImplementedErrorr?   s    r&   rI   env_base.getQ   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__T   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<   C   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_stre   c                0   > [         TU ]  U5        X l        g r*   superr@   defaultr?   r-   ri   	__class__s      r&   r@   env_str.__init__g       r%   c                B    [        U R                  U R                  5      $ r*   )r   r-   ri   rR   s    r&   rI   env_str.getk   s    dhh--r%   ri   )r-   r4   ri   r4   r_   r4   r    r!   r"   r#   r@   rI   r$   __classcell__rk   s   @r&   rd   rd   e   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_defaulto   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__q   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.getu   s)    "?''))r%   )ry   )r-   r4   ry   zCallable[[], str]rq   rr   rt   s   @r&   rv   rv   o   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                8  > 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       R                  SS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replace)r?   r   rk   s     r&   r@   env_nvidia_tool.__init__   st    )**511GGLL)BJPXZ_agh76<<>#9#9#s#C"DEJKr%   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    L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)	BuildImpli8  c                   g r*   r   )r?   rC   r  srcdirlibrary_dirsinclude_dirs	librariess          r&   r  BuildImpl.__call__:  r	  r%   r   N)rC   r4   r  r4   r0  r4   r1  	list[str]r2  r5  r3  r5  r_   r4   r  r   r%   r&   r.  r.  8  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*   )r;  r=  )r?   r   s     r&   backend_dirsbuild_knobs.backend_dirsH  s-    "&"3"3T5E5E!F[!F!F[[[s   ..r   )r_   zset[str])r    r!   r"   r#   r   r   r9  r   r;  r=  r>  r   r@  r$   r   r%   r&   r7  r7  ?  sS    F!$'B' +,A BL+B*+?@K@ $D
$\ \r%   r7  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_knobsiM  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   rE  r   rH  r   rJ  r$   r   r%   r&   rC  rC  M  s9    !";=VWJW/=D'=/6D'6r%   rC  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)rK  iV  TRITON_HOMEz~/rd   home_dirTRITON_DUMP_DIRc                 ,    [         R                  S5      $ )NdumprL  get_triton_dirr   r%   r&   <lambda>cache_knobs.<lambda>Y  s    5CWCWX^C_r%   TRITON_OVERRIDE_DIRc                 ,    [         R                  S5      $ )NoverriderS  r   r%   r&   rU  rV  Z  s    5K_K_`jKkr%   TRITON_CACHE_DIRc                 ,    [         R                  S5      $ )NrL  rS  r   r%   r&   rU  rV  [  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   rO  )r?   r   s     r&   rT  cache_knobs.get_triton_dir`  s    ww||DMM9g>>r%   r   N)r   r4   r_   r4   )r    r!   r"   r#   rd   r+   r   
expanduserrO  r   rv   dump_diroverride_dirdirr   r]  r_  rT  r$   r   r%   r&   rK  rK  V  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S5      R%                  5       rS\S'   SrS\S'   Srg) compilation_knobsid  TRITON_KERNEL_OVERRIDEr~   rY  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 r4   instrumentation_modeNz Union[CompilationListener, None]listenerr   )r    r!   r"   r#   r~   rY  r   rj  rl  rn  rp  r   rr  rt  rv  rx  rz  rd   rI   r}  r~  r$   r   r%   r&   rg  rg  d  s    !":;Hh; !56GX63;<]3^&^"*+E"FxF'(?@NH@),7J7$%9:K:"*+E"FxF$,-I$JJ,45Y,ZZ !((Er J N N P#P15H.5r%   rg  c                  J    \ rS rSr% \" S5      rS\S'   \" S5      rS\S'   Srg)	autotuning_knobsiv  TRITON_CACHE_AUTOTUNINGr~   rL  TRITON_PRINT_AUTOTUNINGprintr   N)	r    r!   r"   r#   r~   rL  r   r  r$   r   r%   r&   r  r  v  s"    89E8989E89r%   r  c                  "    \ rS rSrSrSS jrSrg)
LaunchHooki{  z3Hook invoked before and after kernel launching
    c                    g r*   r   )r?   r  s     r&   r  LaunchHook.__call__      r%   r   N)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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 rSrg)PipelineStagesHooki  c                    g r*   r   )r?   stagesoptionslanguage
capabilitys        r&   r  PipelineStagesHook.__call__  r  r%   r   Nr  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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_hookzOptional[PipelineStagesHook]add_stages_inspection_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  r    s    "#56Ix6 >*..0E40!,-C!DM;D/8{,:.7.F+F8A5C6?6N3N )-N%, 04,3 @D <Cr%   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                  4   \ 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5      rS\S'   Srg)nvidia_knobsi  	cuobjdumpr   nvdisasmptxaszptxas-blackwellptxas_blackwellNVPTX_ENABLE_DUMPr~   
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_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&   r  r    s    !0!=I= /
 ;Ho;,W5E?5'67H'IO_I#$78J8"*+>"?x?!,_!=M;=$/0I$JkJ'(?@NH@"-.E"FNKF +,A BL+Br%   r  c                     \ rS rSr% \" SS5      rS\S'   \" S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rg)	amd_knobsi  AMDGCN_USE_BUFFER_OPSTr~   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_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    s    '(?FNHF#+,G#NN6>?bdi6j)8j$%9:K:*+?@K@ (44S'TT,89],^\^'(CDNHD&./M&N8Nr%   r  c                      \ rS rSr% \" SS5      rS\S'   \" S\" \	R                  " \5      R                  R                  5       S-  S-  S	-  S
-  5      5      rS\S'   \" SS5      rS\S'   Srg)proton_knobsi	  TRITON_PROTON_DISABLEFr~   disableTRITON_CUPTI_LIB_PATHr   r   libcuptird   cupti_lib_dirTRITON_ENABLE_NVTXTenable_nvtxr   N)r    r!   r"   r#   r~   r  r   rd   r4   pathlibPathr   parentabsoluter
  r  r$   r   r%   r&   r  r  	  ss     !8%@GX@$GLL"))224zAHLuTW^^_aM7 a %%94@K@r%   r  c                     [        S5      R                  5       [        l        [	        SS5      R                  5       [
        l        g )Nr  r{  r|  )r~   rI   runtimer  rd   compilationr}  r   r%   r&   refresh_knobsr    s0    ^,002GM'./Lb'Q'U'U'WK$r%   )r-   r4   r.   r   r_   r`   )r6   r   r_   z!Union[None, tuple[Optional[str]]])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   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.  r7  rC  rK  rg  r  r  r  r  r  list
KernelAttrr  r  r  r  r  r  r  r  buildredisrL  r  
autotuningr  r  r   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/ 98 (8C=(3-78  +8 + $Q Q Q4(  \6
'& '&T \* \7* 7  ?* ?6
 6$:z :
 X   Cx "
 ". %S/"
  h  DJ D,MZ M
C: C O
 O"A: A 	!

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