+
    ғLjG              
        a  0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
Ht ^ RIHt ^ RIHtHtHtHtHtHtHtHtHtHtHtHt ^ RIHtHt ]'       d   ^RIHtH t  ^RI!H"t"H#t# ^R	I$H%t%H&t&H't'  ! R
 R4      t(](! 4       t)Rt*R]+R&   R R lt,R R lt-]! R4      t.]! R4      t/]0! 4       t1 ! R R]].]/3,          4      t2 ! R R]2]3]33,          4      t4 ! R R]2]3]33,          4      t5 ! R R]2]6]63,          4      t7 ! R R]2]8]83,          4      t9]! R4      t: ! R  R!]]:,          ]2]]]:,          ,          ]]]:,          ,          3,          4      t;] ! R" R#4      4       t< ! R$ R%]2]3]<3,          4      t= ! R& R']2]]3,          ]]3,          3,          4      t> ! R( R)]24      t?]! RR*7       ! R+ R,4      4       t@ ! R- R.]4      tA]! R/R0R17      tB ! R2 R04      tC ! R3 R4]4      tD ! R5 R6]C4      tE ! R7 R8]C4      tFR9]+R:&    ! R; R9]C4      tG ! R< R=]C4      tH ! R> R?]C4      tI ! R@ RA]4      tJ ! RB RC]4      tK]! RD]R17      tL ! RE RF]]L,          4      tM]N]]3]83,          ,          tO ! RG RH]4      tP ! RI RJ]4      tQ ! RK RL]4      tR ! RM RN]C4      tS ! RO RP]C4      tT ! RQ RR]C4      tU ! RS RT]C4      tV ! RU RV]C4      tW]E! 4       tX]F! 4       tY]G! 4       tZ]H! 4       t[]I! 4       t\]S! 4       t]]T! 4       t^]U! 4       t_]V! 4       t`]W! 4       taRW tbR# )X    )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                      ] tR t^tRtR# )Env N)__name__
__module____qualname____firstlineno____static_attributes__r       8/app/.local/lib/python3.14/site-packages/triton/knobs.pyr   r      s    r#   r   Tboolpropagate_envc               $    V ^8  d   QhRRRRRR/# )   keystrvalueOptional[str]returnNoner   )formats   "r$   __annotate__r0       s!       M d r#   c                    \         '       g   R # Ve   V\        P                  V &   R # V \        P                  9   d   \        P                  V  R # R # N)r&   osenviron)r)   r+   s   &&r$   setenvr5       s9    =

3	

	JJsO 
r#   c                    V ^8  d   QhRRRR/# )r(   valr   r-   z!Union[None, tuple[Optional[str]]]r   )r/   s   "r$   r0   r0   *   s      s 8 r#   c                    V f   R# \        V 4      pV\        J d   V '       d   R# R3# V\        J d   V 3# V\        J d   \        V 4      3# R # )N0r2   )1)typer%   r*   int)r7   ts   & r$   toenvr>   *   sQ    
{S	ADy&&&&CxwCxC|r#   SetTypeGetTypec                  j    ] tR t^CtR R ltR R ltR R ltR R ltR	 R
 ltR R lt	R R lt
RtR# )env_basec                    V ^8  d   QhRRRR/# )r(   r)   r*   r-   r.   r   )r/   s   "r$   r0   env_base.__annotate__E   s      C D r#   c                	    Wn         R # r2   )r)   )selfr)   s   &&r$   __init__env_base.__init__E   s    r#   c               $    V ^8  d   QhRRRRRR/# )r(   objclasszType[object]namer*   r-   r.   r   )r/   s   "r$   r0   rD   H   s!      \   r#   c                	    W n         R # r2   )rK   )rF   rJ   rK   s   &&&r$   __set_name__env_base.__set_name__H   s    	r#   c               $    V ^8  d   QhRRRRRR/# )r(   objOptional[object]rJ   zOptional[Type[object]]r-   r@   r   )r/   s   "r$   r0   rD   K   s$     & &+ &7M &RY &r#   c                	    VP                   P                  V P                  \        4      pV\        J d   V P                  4       # V P	                  V4      # r2   )__dict__getrK   _NOTHING	transform)rF   rP   rJ   py_vals   &&& r$   __get__env_base.__get__K   s?    !!$))X6X88:~~f%%r#   c                   V ^8  d   QhRR/# )r(   r-   r@   r   )r/   s   "r$   r0   rD   Q   s     $ $W $r#   c                	    \        4       hr2   )NotImplementedErrorrF   s   &r$   rT   env_base.getQ   s    !##r#   c               $    V ^8  d   QhRRRRRR/# )r(   rP   objectr+   zUnion[SetType, Env]r-   r.   r   )r/   s   "r$   r0   rD   T   s"     - -6 -*= -$ -r#   c                	   \        V\        4      '       d)   VP                  P                  V P                  R 4       R # W!P                  V P                  &   \        V4      ;p'       d    \        V P                  V^ ,          4       R # R # r2   )
isinstancer   rS   poprK   r>   r5   r)   )rF   rP   r+   env_vals   &&& r$   __set__env_base.__set__T   s]    eS!!LLTYY-&+LL#,&w&txx, 'r#   c                    V ^8  d   QhRRRR/# )r(   rP   r`   r-   r.   r   )r/   s   "r$   r0   rD   \   s     * *f * *r#   c                	R    VP                   P                  V P                  R 4       R # r2   )rS   rc   rK   )rF   rP   s   &&r$   
__delete__env_base.__delete__\   s    D)r#   c                    V ^8  d   QhRRRR/# )r(   r7   r?   r-   r@   r   )r/   s   "r$   r0   rD   _   s     " "W " "r#   c                	"    \        \        V4      # r2   )r   r@   )rF   r7   s   &&r$   rV   env_base.transform_   s     GS!!r#   )r)   rK   N)r   r   r    r!   rG   rM   rX   rT   re   ri   rV   r"   r   r#   r$   rB   rB   C   s*    &$-*" "r#   rB   c                  :   a  ] tR t^etR V 3R lltR R ltRtV ;t# )env_strc                    V ^8  d   QhRRRR/# )r(   r)   r*   defaultr   )r/   s   "r$   r0   env_str.__annotate__g   s      C # r#   c                	2   < \         SV `  V4       W n        R # r2   superrG   rq   rF   r)   rq   	__class__s   &&&r$   rG   env_str.__init__g       r#   c                   V ^8  d   QhRR/# r(   r-   r*   r   )r/   s   "r$   r0   rr   k   s     . .S .r#   c                	B    \        V P                  V P                  4      # r2   )r   r)   rq   r]   s   &r$   rT   env_str.getk   s    dhh--r#   rq   r   r   r    r!   rG   rT   r"   __classcell__rw   s   @r$   ro   ro   e   s     . .r#   ro   c                  :   a  ] tR t^otR V 3R lltR R ltRtV ;t# )env_str_callable_defaultc                    V ^8  d   QhRRRR/# )r(   r)   r*   default_factoryzCallable[[], str]r   )r/   s   "r$   r0   %env_str_callable_default.__annotate__q   s     / /C /2C /r#   c                	2   < \         SV `  V4       W n        R # r2   )ru   rG   r   )rF   r)   r   rw   s   &&&r$   rG   !env_str_callable_default.__init__q   s    .r#   c                   V ^8  d   QhRR/# r{   r   )r/   s   "r$   r0   r   u   s      S r#   c                	X    \        V P                  4      pVf   V P                  4       # V# r2   )r   r)   r   )rF   rd   s   & r$   rT   env_str_callable_default.getu   s)    "?''))r#   )r   r   r   s   @r$   r   r   o   s    / / r#   r   c                  >   a  ] tR t^|tRR V 3R llltR R ltRtV ;t# )env_boolc               $    V ^8  d   QhRRRRRR/# )r(   r)   r*   rq   r%   r-   r.   r   )r/   s   "r$   r0   env_bool.__annotate__~   s!      C $ 4 r#   c                	2   < \         SV `  V4       W n        R # r2   rt   rv   s   &&&r$   rG   env_bool.__init__~   ry   r#   c                   V ^8  d   QhRR/# )r(   r-   r%   r   )r/   s   "r$   r0   r      s     3 3T 3r#   c                	B    \        V P                  V P                  4      # r2   )r   r)   rq   r]   s   &r$   rT   env_bool.get   s    488T\\22r#   r~   Fr   r   s   @r$   r   r   |   s     3 3r#   r   c                  >   a  ] tR t^tRR V 3R llltR R ltRtV ;t# )env_intc               $    V ^8  d   QhRRRRRR/# )r(   r)   r*   rq   r<   r-   r.   r   )r/   s   "r$   r0   env_int.__annotate__   s!      C # d r#   c                	2   < \         SV `  V4       W n        R # r2   rt   rv   s   &&&r$   rG   env_int.__init__   ry   r#   c                   V ^8  d   QhRR/# r(   r-   r<   r   )r/   s   "r$   r0   r      s     Y YS Yr#   c                	    \        V P                  4      pVf   V P                  #  \        V4      #   \         d#   p\        RT P                   RT R24      ThR p?ii ; i)NzUnable to use =z: expected int)r   r)   rq   r<   
ValueErrorRuntimeError)rF   r7   excs   &  r$   rT   env_int.get   sa    TXX;<<	Ys8O 	Yz3%~NOUXX	Ys   
2 AAAr~   )r   r   r   s   @r$   r   r      s     Y Yr#   r   	ClassTypec                  :   a  ] tR t^tR V 3R lltR R ltRtV ;t# )	env_classc               $    V ^8  d   QhRRRRRR/# )r(   r)   r*   r;   r-   r.   r   )r/   s   "r$   r0   env_class.__annotate__   s!      C s t r#   c                	2   < \         SV `  V4       W n        R # r2   )ru   rG   r;   )rF   r)   r;   rw   s   &&&r$   rG   env_class.__init__   s    	r#   c                   V ^8  d   QhRR/# )r(   r-   zOptional[Type[ClassType]]r   )r/   s   "r$   r0   r      s     * *. *r#   c           	     	R  a  \        S P                  4      pVf   R # VP                  R^4      p\        V4      ^8w  d   \	        RS P                   RV R24      h\        \        P                  ! V^ ,          4      V^,          4      p\        ;QJ d-    V 3R lVP                  4        4       F  '       g   K   RM"	  RM! V 3R lVP                  4        4       4      '       g*   \	        RV R	S P                   R
S P                   R24      h\        \        \        ,          V4      # )N:zUnable to read z: 'z ' isn't of the form MODULE:CLASSc              3  T   <"   T F  qP                   SP                  8H  x  K  	  R # 5ir2   )r   r;   ).0crF   s   & r$   	<genexpr> env_class.get.<locals>.<genexpr>   s     ?YJJ$))+Ys   %(TFzUnable to use 'z' from z: not of type '')r   r)   splitlenr   getattr	importlibimport_moduleanymror;   r   r   r   )rF   r7   compsclss   f   r$   rT   env_class.get   s    TXX;		#q!u:?
#cUBbcddi--eAh7qBs?SWWY?sss?SWWY?@@WTXXJoVZV_V_U``abccDOS))r#   )r;   r   r   s   @r$   r   r      s     
* *r#   r   c                  `    ] tR t^t$ R]R&   R]R&   ]]P                  R R l4       4       tRt	R# )
NvidiaToolr*   pathversionc                    V ^8  d   QhRRRR/# )r(   r   r*   r-   zOptional[NvidiaTool]r   )r/   s   "r$   r0   NvidiaTool.__annotate__   s        4 r#   c                	D    \         P                  ! V R .\         P                  R7      p\        P                  ! RVP                  R4      \        P                  R7      pVf   R# \        WP                  ^4      4      #   \         P                  \        3 d     R# i ; i)z	--version)stderrz.*release (\d+\.\d+).*zutf-8)flagsN)
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"B  &B   BBr   N)
r   r   r    r!   __annotations__staticmethod	functools	lru_cacher   r"   r   r#   r$   r   r      s,    
IL  r#   r   c                  F   a  ] tR t^tR V 3R lltR R ltR R ltRtV ;t# )env_nvidia_toolc                    V ^8  d   QhRRRR/# )r(   binaryr*   r-   r.   r   )r/   s   "r$   r0   env_nvidia_tool.__annotate__   s     L Ls Lt Lr#   c                	B  < V\         P                  ! R 4      ,          pWn        \        P                  P                  \        P                  P                  \        4      RRRV4      V n        \        SV `)  RVP                  4       P                  RR4       R24       R# )	EXEbackendsnvidiabinTRITON_-__PATHN)	sysconfigget_config_varr   r3   r   joindirname__file__default_pathru   rG   upperreplace)rF   r   rw   s   &&r$   rG   env_nvidia_tool.__init__   st    )**511GGLL)BJPXZ_agh76<<>#9#9#s#C"DEJKr#   c                   V ^8  d   QhRR/# )r(   r-   r   r   )r/   s   "r$   r0   r      s     0 0Z 0r#   c                	J    V P                  \        V P                  4      4      # r2   )rV   r   r)   r]   s   &r$   rT   env_nvidia_tool.get   s    ~~fTXX.//r#   c                    V ^8  d   QhRRRR/# )r(   r   r*   r-   r   r   )r/   s   "r$   r0   r      s     9 9c 9j 9r#   c                	    Ve   WP                   .pMV P                   .pV F$  p\        P                  V4      ;p'       g   K"  Vu # 	  \        RV P                   24      h)NzCannot find )r   r   r   r   r   )rF   r   pathstools   &&  r$   rV   env_nvidia_tool.transform   sf     ,,-E&&'ED!++D11t11  \$++788r#   )r   r   )	r   r   r    r!   rG   rT   rV   r"   r   r   s   @r$   r   r      s    L L09 9r#   r   c                  "    ] tR t^tR R ltRtR# )env_opt_strc                   V ^8  d   QhRR/# r(   r-   r,   r   )r/   s   "r$   r0   env_opt_str.__annotate__   s        ]  r#   c                	,    \        V P                  4      # r2   )r   r)   r]   s   &r$   rT   env_opt_str.get   s    dhhr#   r   Nr   r   r    r!   rT   r"   r   r#   r$   r   r      s       r#   r   c                  "    ] tR t^tR R ltRtR# )env_opt_boolc                   V ^8  d   QhRR/# r   r   )r/   s   "r$   r0   env_opt_bool.__annotate__   s     + +] +r#   c                	.    \        V P                  R 4      # r2   )r   r)   r]   s   &r$   rT   env_opt_bool.get   s    488T**r#   r   Nr   r   r#   r$   r   r      s    + +r#   r   )frozenc                  f    ] tR t^t$ RtR]R&   R]R&   R]R&   ]R R l4       t]R	 R
 l4       tRt	R# )CompileTimesza
Model holding timing information for an invocation of the compiler.

All times in microseconds.
r<   ir_initializationzlist[tuple[str, int]]lowering_stagesstore_resultsc                   V ^8  d   QhRR/# r   r   )r/   s   "r$   r0   CompileTimes.__annotate__   s     A A Ar#   c                	:    \        R  V P                   4       4      # )c              3  2   "   T F  q^,          x  K  	  R# 5i)   Nr   )r   stages   & r$   r   .CompileTimes.total_lowering.<locals>.<genexpr>   s     ?*>!HH*>s   )sumr	  r]   s   &r$   total_loweringCompileTimes.total_lowering   s    ?$*>*>?@@r#   c                   V ^8  d   QhRR/# r   r   )r/   s   "r$   r0   r     s     Q Qs Qr#   c                	^    V P                   V P                  ,           V P                  ,           # r2   )r  r  r
  r]   s   &r$   totalCompileTimes.total   s$    %%(;(;;d>P>PPPr#   r   N)
r   r   r    r!   __doc__r   propertyr  r  r"   r   r#   r$   r  r     sI      +* A A Q Qr#   r  c                  "    ] tR tRtR R ltRtR# )CompilationListeneri  c               0    V ^8  d   QhRRRRRRRRR	R
RR/# )r(   srczUnion[ASTSource, IRSource]metadatadict[str, Any]metadata_groupdict[str, str]timesr  	cache_hitr%   r-   r.   r   )r/   s   "r$   r0    CompilationListener.__annotate__  s;      9 ^ es $15:>r#   c               	    R # r2   r   )rF   r  r  r!  r#  r$  s   &$$$$$r$   __call__CompilationListener.__call__      r#   r   Nr   r   r    r!   r'  r"   r   r#   r$   r  r         r#   r  
knobs_type
base_knobs)boundc                  p    ] tR tRt]R R l4       t]R R l4       tR R ltR R	 lt]	R
 R l4       t
RtR# )r-  i  c                   V ^8  d   QhRR/# )r(   r-   zdict[str, env_base]r   )r/   s   "r$   r0   base_knobs.__annotate__  s     
 
"5 
r#   c                	    \        V 4      P                  P                  4        UUu/ uF  w  r\        V\        4      '       g   K  WbK!  	  upp# u uppi r2   )r;   rS   itemsrb   rB   )rF   kvs   &  r$   knob_descriptorsbase_knobs.knob_descriptors  sN    
 T
++113
 4!X& AD3
 	
 
s   AAc                   V ^8  d   QhRR/# )r(   r-   r   r   )r/   s   "r$   r0   r1    s     K K~ Kr#   c                	r    V P                   P                  4        Uu/ uF  q\        W4      bK  	  up# u upi r2   )r6  keysr   )rF   r4  s   & r$   knobsbase_knobs.knobs  s3    -1-B-B-G-G-IJ-I74##-IJJJs   4c                    V ^8  d   QhRRRR/# r(   rF   r,  r-   r   )r/   s   "r$   r0   r1    s      : * r#   c                	p    \        V 4      ! 4       pVP                  P                  V P                  4       V# r2   )r;   rS   update)rF   ress   & r$   copybase_knobs.copy  s(    4jlDMM*
r#   c                    V ^8  d   QhRRRR/# r>  r   )r/   s   "r$   r0   r1  "  s      J : r#   c                	^    V P                   P                  4        F  p\        W4       K  	  V # r2   )r6  r:  delattr)rF   knobs   & r$   resetbase_knobs.reset"  s(    ))..0DD 1r#   c                   V ^8  d   QhRR/# )r(   r-   zGenerator[None, None, None]r   )r/   s   "r$   r0   r1  (  s     & &2 &r#   c              #  	  "    V P                   P                  4        Uu/ uF"  qP                  \        VP                  4      bK$  	  pp\	        V P
                  4      pR x  V P
                  P                  4        V P
                  P                  V4       VP                  4        FF  w  rEVe   V\        P                  V&   K  V\        P                  9   g   K5  \        P                  V KH  	  R # u upi   T P
                  P                  4        T P
                  P                  X4       XP                  4        FF  w  rETe   T\        P                  T&   K  T\        P                  9   g   K5  \        P                  T KH  	  i ; i5ir2   )r6  valuesr)   r   dictrS   clearr@  r3  r3   r4   )rF   rG  initial_envorigr4  r5  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C9 (C4C9 #A5FF4C9 9A6F
4F

Fr   N)r   r   r    r!   r  r6  r;  rB  rH  r   rQ  r"   r   r#   r$   r-  r-    sH    
 
 K K

 & &r#   c                  "    ] tR tRtR R ltRtR# )	BuildImpli8  c               4    V ^8  d   QhRRRRRRRRRRRRR	R/# )
r(   rK   r*   r  srcdirlibrary_dirsz	list[str]include_dirs	librariesr-   r   )r/   s   "r$   r0   BuildImpl.__annotate__:  s@      S s C y `i %-0r#   c               	    R # r2   r   )rF   rK   r  rV  rW  rX  rY  s   """""""r$   r'  BuildImpl.__call__:  r)  r#   r   Nr*  r   r#   r$   rT  rT  8  r+  r#   rT  c                      ] tR tRt$ Rt]! R4      tR]R&   ]! R4      tR]R&   ]! R4      t	R]R	&   R
t
R]R&   ]R R l4       tRtR
# )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                   V ^8  d   QhRR/# )r(   r-   zset[str]r   )r/   s   "r$   r0   build_knobs.__annotate__I  s     \ \h \r#   c                	f    V P                   V P                  3 Uu0 uF
  qf   K  VkK  	  up# u upi r2   )rb  rd  )rF   r   s   & r$   backend_dirsbuild_knobs.backend_dirsH  s/    "&"3"3T5E5E!F[!F!F[[[s   ..r   )r   r   r    r!   r  r   r`  r   rb  rd  re  r  ri  r"   r   r#   r$   r^  r^  ?  sS    F!$'B' +,A BL+B*+?@K@ $D
$\ \r#   r^  c                  l    ] tR tRt$ ]! RR4      tR]R&   ]! RR4      tR]R&   ]! R	R
4      t	R]R&   Rt
R# )redis_knobsiM  TRITON_REDIS_KEY_FORMATztriton:{key}:{filename}ro   
key_formatTRITON_REDIS_HOST	localhosthostTRITON_REDIS_PORTi  r   portr   N)r   r   r    r!   ro   rn  r   rq  r   rs  r"   r   r#   r$   rl  rl  M  s9    !";=VWJW/=D'=/6D'6r#   rl  cache_knobscachec                      ] tR tRt$ ]! R]P                  P                  R4      4      tR]	R&   ]
! RR 4      t]
! RR	 4      t]
! R
R 4      t]! RR4      tR]	R&   ]! RR4      tR]	R&   R R ltRtR# )rt  iV  TRITON_HOMEz~/ro   home_dirTRITON_DUMP_DIRc                 	,    \         P                  R 4      # )dumpru  get_triton_dirr   r#   r$   <lambda>cache_knobs.<lambda>Y  s    5CWCWX^C_r#   TRITON_OVERRIDE_DIRc                 	,    \         P                  R 4      # )overrider|  r   r#   r$   r~  r  Z  s    5K_K_`jKkr#   TRITON_CACHE_DIRc                 	,    \         P                  R 4      # )ru  r|  r   r#   r$   r~  r  [  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                    V ^8  d   QhRRRR/# )r(   r   r*   r-   r   )r/   s   "r$   r0   cache_knobs.__annotate__`  s     ? ?c ?c ?r#   c                	X    \         P                  P                  V P                  R V4      # )z.triton)r3   r   r   rx  )rF   r   s   &&r$   r}  cache_knobs.get_triton_dir`  s    ww||DMM9g>>r#   r   N)r   r   r    r!   ro   r3   r   
expanduserrx  r   r   dump_diroverride_dirdirr   r  r  r}  r"   r   r#   r$   rt  rt  V  s~    rww/A/A$/GHHgH'(9;_`H+,ACklL
"#57\
]C-67M~-^M*^:CDacw:x7x? ?r#   c                  b   ] tR tRt$ ]! R4      tR]R&   ]! R4      tR]R&   ]! R4      tR]R&   ]! R	4      t	R]R
&   ]! R4      t
R]R&   ]! R4      tR]R&   ]! R4      tR]R&   ]! R4      tR]R&   ]! R4      tR]R&   ]! R4      tR]R&   ]! RR4      P%                  4       tR]R&   RtR]R&   RtR# ) compilation_knobsid  TRITON_KERNEL_OVERRIDEr   r  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]listenerr   )r   r   r    r!   r   r  r   r  r  r  r  r   r  r  r  r  r  ro   rT   r  r  r"   r   r#   r$   r  r  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#   r  c                  L    ] tR tRt$ ]! R4      tR]R&   ]! R4      tR]R&   RtR# )	autotuning_knobsiv  TRITON_CACHE_AUTOTUNINGr   ru  TRITON_PRINT_AUTOTUNINGprintr   N)	r   r   r    r!   r   ru  r   r  r"   r   r#   r$   r  r  v  s"    89E8989E89r#   r  c                  &    ] tR tRtRtR R ltRtR# )
LaunchHooki{  z3Hook invoked before and after kernel launching
    c                    V ^8  d   QhRRRR/# )r(   r  r   r-   r.   r   )r/   s   "r$   r0   LaunchHook.__annotate__  s       d r#   c                	    R # r2   r   )rF   r  s   &&r$   r'  LaunchHook.__call__      r#   r   Nr   r   r    r!   r  r'  r"   r   r#   r$   r  r  {  s     r#   r  c                  &    ] tR tRtRtR R ltRtR# )InitHandleHooki  zuHook invoked around kernel binary/module loading.
module/function can be None for the *start* hook (before loading).
c               0    V ^8  d   QhRRRRRRRRR	RR
R/# )r(   modulerQ   functionzOptional[Callable]rK   r*   r!  r"  hashr-   r.   r   )r/   s   "r$   r0   InitHandleHook.__annotate__  sF        % 	
 '  
r#   c                	    R # r2   r   )rF   r  r  rK   r!  r  s   &&&&&&r$   r'  InitHandleHook.__call__  s     	r#   r   Nr  r   r#   r$   r  r    s     r#   r  Fc                  H    ] tR tRtRtRR R lltR R ltR R ltR	 tR
t	R# )	HookChaini  z?A chain of hooks of the same type F to be called in order.
    c                   V ^8  d   QhRR/# )r(   reversedr%   r   )r/   s   "r$   r0   HookChain.__annotate__  s     ! ! !r#   c                	     . V n         Wn        R # r2   callsr  )rF   r  s   &&r$   rG   HookChain.__init__  s     
 r#   c                    V ^8  d   QhRRRR/# r(   funcr  r-   r.   r   )r/   s   "r$   r0   r    s     $ $ $d $r#   c                	`    WP                   9  d   V P                   P                  V4       R # R # r2   )r  appendrF   r  s   &&r$   addHookChain.add  s#    zz!JJd# "r#   c                    V ^8  d   QhRRRR/# r  r   )r/   s   "r$   r0   r    s     $ $1 $ $r#   c                	`    WP                   9   d   V P                   P                  V4       R # R # r2   )r  remover  s   &&r$   r  HookChain.remove  s#    ::JJd# r#   c                	    V P                   '       g   V P                  M\        V P                  4       F  pV! V/ VB  K  	  R # r2   )r  r  )rF   argskwargscalls   &*, r$   r'  HookChain.__call__  s4    &*mmmDJJ$**9MMD$!&! Nr#   r  Nr   )
r   r   r    r!   r  rG   r  r  r'  r"   r   r#   r$   r  r    s    !$$"r#   r  c                      ] tR tRt$ 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]R&   RtR# )JITHookCompileInfoi  r*   r)   zdict[KernelParam, str]	signaturer<   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                  "    ] tR tRtR R ltRtR# )JITHooki  c               4    V ^8  d   QhRRRRRRRRRR	R
R	RR/# )r(   r)   r*   reprfnr   compiler  is_manual_warmupr%   already_compiledr-   zOptional[bool]r   )r/   s   "r$   r0   JITHook.__annotate__  sA      s # ? M_ sw #',:r#   c               	    R # r2   r   )rF   r)   r  r  r  r  r  s   &$$$$$$r$   r'  JITHook.__call__  r)  r#   r   Nr*  r   r#   r$   r  r    r+  r#   r  c                      ] tR tRtR tRtR# )PipelineStagesHooki  c                	    R # r2   r   )rF   stagesoptionslanguage
capabilitys   &&&&&r$   r'  PipelineStagesHook.__call__  r  r#   r   Nr*  r   r#   r$   r  r    s    r#   r  c                     ] tR tRt$ ]! R4      tR]R&   ]! R4      P                  4       tR]R&   ]	! R4      t
R	]R
&   ]! 4       tR]R&   ]! RR7      tR]R&   ]! 4       tR]R&   ]! RR7      tR]R&   RtR]R&   RtR]R&   RtR]R&   RtR# )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   rT   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                  N    ] tR tRt$ ]! R4      tR]R&   ]! RR4      tR]R&   R	t	R
# )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                  6   ] tR tRt$ ]! R4      tR]R&   ]! R4      tR]R&   ]! R4      tR]R&   ]! R4      t	R]R&   ]
! R4      tR	]R
&   ]
! R4      tR	]R&   ]! R4      tR]R&   ]! R4      tR]R&   ]
! R4      tR	]R&   ]! R4      tR]R&   ]! R4      tR]R&   RtR# )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                  <   ] tR tRt$ ]! RR4      tR]R&   ]! RR4      tR]R&   ]! RR	4      tR]R
&   ]! R4      t	R]R&   ]
! R4      tR]R&   ]! R4      tR]R&   ]! R4      tR]R&   ]! R4      tR]R&   ]! R4      tR]R&   ]
! R4      tR]R&   ]
! R4      tR]R&   RtR# )	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_fopsTRITON_DUMP_MIRdump_mirTRITON_SWAP_MIRswap_mirr   N)r   r   r    r!   r   r(  r   r*  r,  r.  r   r0  r   r2  r4  r6  r8  r:  r<  r"   r   r#   r$   r&  r&    s    '(?FNHF#+,G#NN6>?bdi6j)8j$%9:K:*+?@K@ (44S'TT,89],^\^#/0K#LNLL&./M&N8N ((9:Hk:'(9:Hk:r#   r&  c                  8   ] tR tRt$ ]! RR4      tR]R&   ]! R]! ]	P                  ! ]4      P                  P                  4       R,          R,          R	,          R
,          4      4      tR]R&   ]! RR4      tR]R&   ]! RR4      tR]R&   ]! RR4      tR]R&   RtR# )proton_knobsi  TRITON_PROTON_DISABLEFr   disableTRITON_CUPTI_LIB_PATHr   r   libcuptiro   cupti_lib_dirTRITON_PROFILE_BUFFER_SIZEr   profile_buffer_sizeTRITON_ENABLE_NVTXTenable_nvtxTRITON_ENABLE_HW_TRACEenable_hw_tracer   Ni   )r   r   r    r!   r   r@  r   ro   r*   pathlibPathr   parentabsoluterD  r   rF  rH  rJ  r"   r   r#   r$   r>  r>    s     !8%@GX@$GLL"))224zAHLuTW^^_aM7 a $++GIY#ZZ$%94@K@$ !))A5 IOXIr#   r>  c                     \        R 4      P                  4       \        n        \	        RR4      P                  4       \
        n        R# )r   r  r  N)r   rT   runtimer  ro   compilationr  r   r#   r$   refresh_knobsrR  5  s0    ^,002GM'./Lb'Q'U'U'WK$r#   )c__conditional_annotations__
__future__r   r   r   r3   r   r   r   rK  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   r5   r>   r?   r@   r`   rU   rB   r*   ro   r   r%   r   r<   r   r   r   r   r   r   r   r  r  r,  r-  rT  r^  rl  rt  r  r  r  r  r  r  list
KernelAttrr  r  r  r  r  r  r&  r>  buildredisru  rQ  
autotuningrP  r  r   amdprotonrR  )rS  s   @r$   <module>rd     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 ;
 ;,J: J6 	!

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