Ë
    ÖéñinC  ã            
      ój  — U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZ d dlmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZ erddlmZmZ dd	l m!Z!m"Z" dd
l#m$Z$m%Z%m&Z&  G d„ d«      Z' e'«       Z(dZ)de*d<   dWd„Z+dXd„Z, ed«      Z- ed«      Z. e/«       Z0 G d„ dee-e.f   «      Z1 G d„ de1e2e2f   «      Z3 G d„ de1e2e2f   «      Z4 G d„ de1e5e5f   «      Z6 G d„ de1e7e7f   «      Z8 ed«      Z9 G d„ d ee9   e1eee9      eee9      f   «      Z:e
 G d!„ d"«      «       Z; G d#„ d$e1e2e;f   «      Z< G d%„ d&e1ee2   ee2   f   «      Z= G d'„ d(e1«      Z> e
d¬)«       G d*„ d+«      «       Z? G d,„ d-e«      Z@ ed.d/¬0«      ZA G d1„ d/«      ZB G d2„ d3e«      ZC G d4„ d5eB«      ZD G d6„ d7eB«      ZEd8e*d9<    G d:„ d8eB«      ZF G d;„ d<eB«      ZG G d=„ d>eB«      ZH G d?„ d@e«      ZI G dA„ dBe«      ZJ edCe¬0«      ZK G dD„ dEeeK   «      ZLeMee2e7f      ZN G dF„ dGe«      ZO G dH„ dIe«      ZP G dJ„ dKe«      ZQ G dL„ dMeB«      ZR G dN„ dOeB«      ZS G dP„ dQeB«      ZT G dR„ dSeB«      ZU G dT„ dUeB«      ZV eD«       ZW eE«       ZX eF«       ZY eG«       ZZ eH«       Z[ eR«       Z\ eS«       Z] eT«       Z^ eU«       Z_ eV«       Z`dV„ Zay)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                  ó   — e Zd Zy)ÚEnvN)Ú__name__Ú
__module__Ú__qualname__© ó    úN/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/triton/knobs.pyr   r      s   „ Ør"   r   TÚboolÚpropagate_envc                ó†   — t         sy |�|t        j                  | <   y | t        j                  v rt        j                  | = y y ©N)r%   ÚosÚenviron)ÚkeyÚvalues     r#   Úsetenvr,       s7   € ÝØàÐØŒ�
‰
�3ŠØ	”—
‘
Ñ	Ü�J‰J�s‰Oð 
r"   c                ó~   — | €yt        | «      }|t        u r| rdfS dfS |t        u r| fS |t        u rt        | «      fS y )Nr'   Ú1Ú0)Útyper$   ÚstrÚint)ÚvalÚts     r#   Útoenvr5   *   sQ   € Ø
€{ØäˆS‹	€AØŒD�yÙ�Ð&Ð& Ð&Ð&àŒC�xØˆwˆàŒC�xÜ�C“ˆ|Ðàr"   ÚSetTypeÚGetTypec                  óD   — e Zd Zd	d„Zd
d„Zdd„Zdd„Zdd„Zdd„Zdd„Z	y)Úenv_basec                ó   — || _         y r'   )r*   )Úselfr*   s     r#   Ú__init__zenv_base.__init__E   s	   € Øˆ�r"   c                ó   — || _         y r'   )Úname)r;   Úobjclassr>   s      r#   Ú__set_name__zenv_base.__set_name__H   s	   € Øˆ�	r"   c                ó¨   — |j                   j                  | j                  t        «      }|t        u r| j                  «       S | j	                  |«      S r'   )Ú__dict__Úgetr>   Ú_NOTHINGÚ	transform)r;   Úobjr?   Úpy_vals       r#   Ú__get__zenv_base.__get__K   s?   € Ø—‘×!Ñ! $§)¡)¬XÓ6ˆØ”XÑØ—8‘8“:ÐØ�~‰~˜fÓ%Ð%r"   c                ó   — t        «       ‚r'   )ÚNotImplementedError©r;   s    r#   rC   zenv_base.getQ   s   € Ü!Ó#Ð#r"   c                óò   — t        |t        «      r'|j                  j                  | j                  d «       y ||j                  | j                  <   t        |«      x}rt        | j                  |d   «       y y )Nr   )Ú
isinstancer   rB   Úpopr>   r5   r,   r*   )r;   rF   r+   Úenv_vals       r#   Ú__set__zenv_base.__set__T   s\   € Ü�eœSÔ!Ø�L‰L×Ñ˜TŸY™Y¨Õ-à&+ˆC�L‰L˜Ÿ™Ñ#Ü ›,Ð&ˆwÐ&Ü�t—x‘x ¨¡Õ,ð 'r"   c                óP   — |j                   j                  | j                  d «       y r'   )rB   rN   r>   )r;   rF   s     r#   Ú
__delete__zenv_base.__delete__\   s   € Ø�‰×Ñ˜Ÿ™ DÕ)r"   c                ó"   — t        t        |«      S r'   )r   r7   )r;   r3   s     r#   rE   zenv_base.transform_   s   € ô ”G˜SÓ!Ð!r"   N)r*   r1   ÚreturnÚNone)r?   zType[object]r>   r1   rT   rU   )rF   úOptional[object]r?   zOptional[Type[object]]rT   r7   )rT   r7   )rF   Úobjectr+   zUnion[SetType, Env]rT   rU   )rF   rW   rT   rU   )r3   r6   rT   r7   )
r   r   r    r<   r@   rH   rC   rP   rR   rE   r!   r"   r#   r9   r9   C   s%   „ óóó&ó$ó-ó*ô"r"   r9   c                  ó(   ‡ — e Zd Zdˆ fd„Zdd„Zˆ xZS )Úenv_strc                ó2   •— t         ‰| �  |«       || _        y r'   ©Úsuperr<   Údefault©r;   r*   r]   Ú	__class__s      €r#   r<   zenv_str.__init__g   ó   ø€ Ü‰Ñ˜ÔØˆ�r"   c                óB   — t        | j                  | j                  «      S r'   )r   r*   r]   rK   s    r#   rC   zenv_str.getk   s   € Ü�d—h‘h §¡Ó-Ð-r"   )r*   r1   r]   r1   ©rT   r1   ©r   r   r    r<   rC   Ú__classcell__©r_   s   @r#   rY   rY   e   s   ø„ õ÷.r"   rY   c                  ó(   ‡ — e Zd Zdˆ fd„Zdd„Zˆ xZS )Úenv_str_callable_defaultc                ó2   •— t         ‰| �  |«       || _        y r'   )r\   r<   Údefault_factory)r;   r*   ri   r_   s      €r#   r<   z!env_str_callable_default.__init__q   s   ø€ Ü‰Ñ˜ÔØ.ˆÕr"   c                óT   — t        | j                  «      }|€| j                  «       S |S r'   )r   r*   ri   )r;   rO   s     r#   rC   zenv_str_callable_default.getu   s)   € Ü˜Ÿ™Ó"ˆØˆ?Ø×'Ñ'Ó)Ð)Øˆr"   )r*   r1   ri   zCallable[[], str]rb   rc   re   s   @r#   rg   rg   o   s   ø„ õ/÷r"   rg   c                  ó*   ‡ — e Zd Zddˆ fd„Zdd„Zˆ xZS )Úenv_boolc                ó2   •— t         ‰| �  |«       || _        y r'   r[   r^   s      €r#   r<   zenv_bool.__init__~   r`   r"   c                óB   — t        | j                  | j                  «      S r'   )r   r*   r]   rK   s    r#   rC   zenv_bool.get‚   s   € Ü˜4Ÿ8™8 T§\¡\Ó2Ð2r"   ©F)r*   r1   r]   r$   rT   rU   )rT   r$   rc   re   s   @r#   rl   rl   |   s   ø„ ö÷3r"   rl   c                  ó*   ‡ — e Zd Zddˆ fd„Zdd„Zˆ xZS )Úenv_intc                ó2   •— t         ‰| �  |«       || _        y r'   r[   r^   s      €r#   r<   zenv_int.__init__ˆ   r`   r"   c                ó¼   — t        | j                  «      }|€| j                  S 	 t        |«      S # t        $ r"}t        d| j                  › d|› d�«      |‚d }~ww xY w)NzUnable to use ú=z: expected int)r   r*   r]   r2   Ú
ValueErrorÚRuntimeError)r;   r3   Úexcs      r#   rC   zenv_int.getŒ   sa   € Ü�T—X‘XÓˆØˆ;Ø—<‘<Ðð	YÜ�s“8ˆOøÜò 	YÜ °·±¨z¸¸3¸%¸~ÐNÓOÐUXÐXûð	Yús   ¥
0 °	A¹AÁA)r   )r*   r1   r]   r2   rT   rU   ©rT   r2   rc   re   s   @r#   rq   rq   †   s   ø„ ö÷Yr"   rq   Ú	ClassTypec                  ó(   ‡ — e Zd Zdˆ fd„Zdd„Zˆ xZS )Ú	env_classc                ó2   •— t         ‰| �  |«       || _        y r'   )r\   r<   r0   )r;   r*   r0   r_   s      €r#   r<   zenv_class.__init__›   s   ø€ Ü‰Ñ˜Ôàˆ�	r"   c           	     óº  ‡ — t        ‰ j                  «      }|€y |j                  dd«      }t        |«      dk7  rt	        d‰ j                  › d|› d�«      ‚t        t        j                  |d   «      |d   «      }t        ˆ fd„|j                  «       D «       «      s)t	        d	|› d
‰ j                  › d‰ j                  › d�«      ‚t        t        t           |«      S )Nú:r   é   zUnable to read z: 'z ' isn't of the form MODULE:CLASSr   c              3  óP   •K  — | ]  }|j                   ‰j                  k(  –— Œ y ­wr'   )r   r0   )Ú.0Úcr;   s     €r#   ú	<genexpr>z env_class.get.<locals>.<genexpr>©   s   øè ø€ Ò?°�A—J‘J $§)¡)Õ+Ñ?ùs   ƒ#&zUnable to use 'z' from z: not of type 'ú')r   r*   ÚsplitÚlenrv   ÚgetattrÚ	importlibÚimport_moduleÚanyÚmror0   r   r   ry   )r;   r3   ÚcompsÚclss   `   r#   rC   zenv_class.get    sÄ   ø€ Ü�T—X‘XÓˆØˆ;ØØ—	‘	˜#˜qÓ!ˆÜˆu‹:˜Š?Ü °·±°
¸#¸c¸UÐBbÐcÓdÐdÜ”i×-Ñ-¨e°A©hÓ7¸¸q¹ÓBˆäÓ?°S·W±W³YÔ?Ô@Ü °°°W¸T¿X¹X¸JÀoÐVZ×V_ÑV_ÐU`Ð`aÐbÓcÐcä”Dœ‘O SÓ)Ð)r"   )r*   r1   r0   r1   rT   rU   )rT   zOptional[Type[ClassType]]rc   re   s   @r#   r{   r{   ™   s   ø„ õ÷
*r"   r{   c                  óR   — e Zd ZU ded<   ded<   eej                  dd„«       «       Zy)Ú
NvidiaToolr1   ÚpathÚversionc                ó6  — 	 t        j                  | dgt         j                  ¬«      }t        j                  d|j                  d«      t        j                  ¬«      }|€y t        | |j                  d«      «      S # t         j                  t        f$ r Y y w xY w)Nz	--version)Ústderrz.*release (\d+\.\d+).*zutf-8)Úflagsr   )Ú
subprocessÚcheck_outputÚSTDOUTÚreÚsearchÚdecodeÚ	MULTILINEr�   ÚgroupÚCalledProcessErrorÚFileNotFoundError)r�   Úresultr‘   s      r#   Ú	from_pathzNvidiaTool.from_path´   sƒ   € ð	Ü×,Ñ,¨d°KÐ-@Ì×IZÑIZÔ[ˆFÜ—i‘iÐ 9¸6¿=¹=ÈÓ;QÔY[×YeÑYeÔfˆGØˆØÜ˜d G§M¡M°!Ó$4Ó5Ð5øÜ×-Ñ-Ô/@ÐAò 	Ùð	ús   ‚AA< Á!A< Á<BÂBN)r�   r1   rT   zOptional[NvidiaTool])r   r   r    Ú__annotations__ÚstaticmethodÚ	functoolsÚ	lru_cacher    r!   r"   r#   r�   r�   ¯   s,   … à
ƒIØƒLàØ×Ñòó ó ñr"   r�   c                  ó0   ‡ — e Zd Zdˆ fd„Zdd„Zdd„Zˆ xZS )Úenv_nvidia_toolc                ó8  •— |t        j                  d«      z  }|| _        t        j                  j                  t        j                  j                  t        «      ddd|«      | _        t        ‰| �)  d|j                  «       j                  dd«      › d�«       y )	NÚEXEÚbackendsÚnvidiaÚbinÚTRITON_ú-Ú_Ú_PATH)Ú	sysconfigÚget_config_varÚbinaryr(   r�   ÚjoinÚdirnameÚ__file__Údefault_pathr\   r<   ÚupperÚreplace)r;   r²   r_   s     €r#   r<   zenv_nvidia_tool.__init__Ã   sv   ø€ Ø”)×*Ñ*¨5Ó1Ñ1ˆØˆŒÜŸG™GŸL™L¬¯©¯©¼Ó)BÀJÐPXÐZ_ÐagÓhˆÔä‰Ñ˜7 6§<¡<£>×#9Ñ#9¸#¸sÓ#CÐ"DÀEÐJÕKr"   c                óJ   — | j                  t        | j                  «      «      S r'   )rE   r   r*   rK   s    r#   rC   zenv_nvidia_tool.getÊ   s   € Ø�~‰~œf T§X¡XÓ.Ó/Ð/r"   c                ó²   — |�|| j                   g}n| j                   g}|D ]  }t        j                  |«      x}sŒ|c S  t        d| j                  › �«      ‚)NzCannot find )r¶   r�   r    rv   r²   )r;   r�   ÚpathsÚtools       r#   rE   zenv_nvidia_tool.transformÍ   sj   € ð ÐØ˜4×,Ñ,Ð-‰Eà×&Ñ&Ð'ˆEàò 	ˆDÜ!×+Ñ+¨DÓ1Ð1ˆtÑ1Ø’ð	ô ˜\¨$¯+©+¨Ð7Ó8Ð8r"   )r²   r1   rT   rU   )rT   r�   )r�   r1   rT   r�   )r   r   r    r<   rC   rE   rd   re   s   @r#   r¦   r¦   Á   s   ø„ õLó0÷9r"   r¦   c                  ó   — e Zd Zdd„Zy)Úenv_opt_strc                ó,   — t        | j                  «      S r'   )r   r*   rK   s    r#   rC   zenv_opt_str.getß   s   € Ü�d—h‘hÓÐr"   N©rT   úOptional[str]©r   r   r    rC   r!   r"   r#   r¾   r¾   Ý   s   „ ô r"   r¾   c                  ó   — e Zd Zdd„Zy)Úenv_opt_boolc                ó.   — t        | j                  d «      S r'   )r   r*   rK   s    r#   rC   zenv_opt_bool.getå   s   € Ü˜4Ÿ8™8 TÓ*Ð*r"   NrÀ   rÂ   r!   r"   r#   rÄ   rÄ   ã   s   „ ô+r"   rÄ   )Úfrozenc                  óT   — e Zd ZU dZded<   ded<   ded<   ed
d„«       Zed
d„«       Zy	)ÚCompileTimeszm
    Model holding timing information for an invocation of the compiler.

    All times in microseconds.
    r2   Úir_initializationzlist[tuple[str, int]]Úlowering_stagesÚstore_resultsc                ó:   — t        d„ | j                  D «       «      S )Nc              3  ó&   K  — | ]	  }|d    –— Œ y­w)r   Nr!   )r�   Ústages     r#   rƒ   z.CompileTimes.total_lowering.<locals>.<genexpr>ý   s   è ø€ Ò? �E˜!•HÑ?ùs   ‚)ÚsumrÊ   rK   s    r#   Útotal_loweringzCompileTimes.total_loweringû   s   € äÑ?¨$×*>Ñ*>Ô?Ó@Ð@r"   c                óN   — | j                   | j                  z   | j                  z   S r'   )rÉ   rÐ   rË   rK   s    r#   ÚtotalzCompileTimes.totalÿ   s$   € à×%Ñ%¨×(;Ñ(;Ñ;¸d×>PÑ>PÑPÐPr"   Nrx   )r   r   r    Ú__doc__r¡   ÚpropertyrÐ   rÒ   r!   r"   r#   rÈ   rÈ   é   sI   … ñð Óð +Ó*ð ÓàòAó ðAð òQó ñQr"   rÈ   c                  ó    — e Zd Z	 	 	 	 	 	 dd„Zy)ÚCompilationListenerc                ó   — y r'   r!   )r;   ÚsrcÚmetadataÚmetadata_groupÚtimesÚ	cache_hits         r#   Ú__call__zCompilationListener.__call__  ó   € àr"   N)rØ   zUnion[ASTSource, IRSource]rÙ   údict[str, Any]rÚ   údict[str, str]rÛ   rÈ   rÜ   r$   rT   rU   ©r   r   r    rÝ   r!   r"   r#   rÖ   rÖ     s   „ ðØ$ðØ15ðØ:>ôr"   rÖ   Ú
knobs_typeÚ
base_knobs)Úboundc                  óR   — e Zd Zedd„«       Zedd„«       Zd	d„Zd	d„Zed
d„«       Z	y)rã   c                óœ   — t        | «      j                  j                  «       D ��ci c]  \  }}t        |t        «      r||“Œ c}}S c c}}w r'   )r0   rB   ÚitemsrM   r9   )r;   ÚkÚvs      r#   Úknob_descriptorszbase_knobs.knob_descriptors  sK   € ô
 ˜T›
×+Ñ+×1Ñ1Ó3÷
ñ ��1Ü˜!œXÔ&ð ˆq‰Dó
ð 	
ùó 
s   §Ac                ór   — | j                   j                  «       D �ci c]  }|t        | |«      “Œ c}S c c}w r'   )rê   Úkeysr‡   )r;   rè   s     r#   Úknobszbase_knobs.knobs  s1   € à-1×-BÑ-B×-GÑ-GÓ-IÖJ¨�”7˜4 Ó#Ñ#ÒJÐJùÒJs   �4c                óp   —  t        | «      «       }|j                  j                  | j                  «       |S r'   )r0   rB   Úupdate)r;   Úress     r#   Úcopyzbase_knobs.copy  s*   € ØŒd�4‹j‹lˆØ�‰×Ñ˜DŸM™MÔ*Øˆ
r"   c                ó\   — | j                   j                  «       D ]  }t        | |«       Œ | S r'   )rê   rì   Údelattr)r;   Úknobs     r#   Úresetzbase_knobs.reset"  s/   € Ø×)Ñ)×.Ñ.Ó0ò 	 ˆDÜ�D˜$Õð	 àˆr"   c              #  óú  K  — 	 | j                   j                  «       D �ci c]"  }|j                  t        |j                  «      “Œ$ }}t	        | j
                  «      }d –— | j
                  j                  «        | j
                  j                  |«       |j                  «       D ]?  \  }}|�|t        j                  |<   Œ|t        j                  v sŒ/t        j                  |= ŒA y c c}w # | j
                  j                  «        | j
                  j                  «       j                  «       D ]?  \  }}|�|t        j                  |<   Œ|t        j                  v sŒ/t        j                  |= ŒA w xY w­wr'   )rê   Úvaluesr*   r   ÚdictrB   Úclearrï   rç   r(   r)   )r;   rô   Úinitial_envÚorigrè   ré   s         r#   Úscopezbase_knobs.scope'  s%  è ø€ ð	&ØBF×BWÑBW×B^ÑB^ÓB`Öa¸$˜4Ÿ8™8¤V¨D¯H©HÓ%5Ñ5ÐaˆKÐaÜ˜Ÿ™Ó&ˆDÛà�M‰M×ÑÔ!Ø�M‰M× Ñ  Ô&à#×)Ñ)Ó+ò &‘��1Ø�=Ø$%”B—J‘J˜q’MØœ"Ÿ*™*’_ÜŸ
™
 1™ñ	&ùò bøð �M‰M×ÑÔ!Ø�M‰M× Ñ  Ô&à#×)Ñ)Ó+ò &‘��1Ø�=Ø$%”B—J‘J˜q’MØœ"Ÿ*™*’_ÜŸ
™
 1™ñ	&üs;   ‚E;„C/  'C*ÁC/ Á"A3E;ÃE;Ã*C/ Ã/A4E8Å$E8Å8E;N)rT   zdict[str, env_base])rT   rß   )r;   râ   rT   râ   )rT   zGenerator[None, None, None])
r   r   r    rÔ   rê   rí   rñ   rõ   r   rü   r!   r"   r#   rã   rã     sH   „ àò
ó ð
ð òKó ðKóó
ð
 ò&ó ñ&r"   c                  ó   — e Zd Z	 	 	 	 dd„Zy)Ú	BuildImplc                ó   — y r'   r!   )r;   r>   rØ   ÚsrcdirÚlibrary_dirsÚinclude_dirsÚ	librariess          r#   rÝ   zBuildImpl.__call__:  rÞ   r"   N)r>   r1   rØ   r1   r   r1   r  ú	list[str]r  r  r  r  rT   r1   rá   r!   r"   r#   rþ   rþ   8  s   „ ðØ%ðØ-0ôr"   rþ   c                  ó€   — e Zd ZU dZ ed«      Zded<    ed«      Zded<    ed«      Zded<   d	Z	d
ed<   e
dd„«       Zy	)Úbuild_knobsz<Configuration controlling how the native compiler is invokedÚCCr¾   ÚccÚTRITON_CUDACRT_PATHÚcudacrt_pathÚTRITON_CUDART_PATHÚcudart_pathNzOptional[BuildImpl]Úimplc                ó^   — | j                   | j                  fD �ch c]  }|€Œ|’Œ	 c}S c c}w r'   )r
  r  )r;   r�   s     r#   Úbackend_dirszbuild_knobs.backend_dirsH  s,   € à"&×"3Ñ"3°T×5EÑ5EÐ!FÖ[˜È$ÑJZ’Ò[Ð[ùÒ[s   ›*£*)rT   zset[str])r   r   r    rÓ   r¾   r  r¡   r
  r  r  rÔ   r  r!   r"   r#   r  r  ?  sS   … ÙFÙ! $Ó'€BˆÓ'á +Ð,AÓ B€L�+ÓBÙ*Ð+?Ó@€K�Ó@à $€DÐ
Ó$àò\ó ñ\r"   r  c                  ób   — e Zd ZU  edd«      Zded<    edd«      Zded<    edd	«      Zd
ed<   y)Úredis_knobsÚTRITON_REDIS_KEY_FORMATztriton:{key}:{filename}rY   Ú
key_formatÚTRITON_REDIS_HOSTÚ	localhostÚhostÚTRITON_REDIS_PORTië  rq   ÚportN)	r   r   r    rY   r  r¡   r  rq   r  r!   r"   r#   r  r  M  s9   … Ù!Ð";Ð=VÓW€J�ÓWÙÐ/°Ó=€Dˆ'Ó=ÙÐ/°Ó6€Dˆ'Ô6r"   r  Úcache_knobsÚcachec                  óØ   — e Zd ZU  edej
                  j                  d«      «      Zded<    e	dd„ «      Z
 e	dd„ «      Z e	d	d
„ «      Z edd«      Zded<    edd«      Zded<   dd„Zy)r  ÚTRITON_HOMEz~/rY   Úhome_dirÚTRITON_DUMP_DIRc                 ó,   — t         j                  d«      S )NÚdump©r  Úget_triton_dirr!   r"   r#   ú<lambda>zcache_knobs.<lambda>Y  s   € Ä5×CWÑCWÐX^ÓC_€ r"   ÚTRITON_OVERRIDE_DIRc                 ó,   — t         j                  d«      S )NÚoverrider!  r!   r"   r#   r#  zcache_knobs.<lambda>Z  s   € Ì5×K_ÑK_Ð`jÓKk€ r"   ÚTRITON_CACHE_DIRc                 ó,   — t         j                  d«      S )Nr  r!  r!   r"   r#   r#  zcache_knobs.<lambda>[  s   € ¼u×?SÑ?SÐT[Ó?\€ r"   ÚTRITON_CACHE_MANAGERr   zenv_class[CacheManager]Úmanager_classÚTRITON_REMOTE_CACHE_BACKENDr   zenv_class[RemoteCacheBackend]Úremote_manager_classc                óX   — t         j                  j                  | j                  d|«      S )Nz.triton)r(   r�   r³   r  )r;   r´   s     r#   r"  zcache_knobs.get_triton_dir`  s   € Ü�w‰w�|‰|˜DŸM™M¨9°gÓ>Ð>r"   N)r´   r1   rT   r1   )r   r   r    rY   r(   r�   Ú
expanduserr  r¡   rg   Údump_dirÚoverride_dirÚdirr{   r*  r,  r"  r!   r"   r#   r  r  V  sy   … Ù ¨r¯w©w×/AÑ/AÀ$Ó/GÓH€HˆgÓHá'Ð(9Ñ;_Ó`€HÙ+Ð,AÑCkÓl€LÙ
"Ð#5Ñ7\Ó
]€Cá-6Ð7MÈ~Ó-^€MÐ*Ó^Ù:CÐDaÐcwÓ:xÐÐ7Óxô?r"   c                  óX  — e Zd ZU  ed«      Zded<    ed«      Zded<    ed«      Zded<    ed«      Zded	<    ed
«      Z	ded<    e
d«      Zded<    ed«      Zded<    ed«      Zded<    ed«      Zded<    ed«      Zded<    edd«      j#                  «       Zded<   dZded<   y)Úcompilation_knobsÚTRITON_KERNEL_OVERRIDErl   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Ú r1   Úinstrumentation_modeNz Union[CompilationListener, None]Úlistener)r   r   r    rl   r&  r¡   r6  r8  r:  r<  r¾   r>  r@  rB  rD  rF  rY   rC   rI  rJ  r!   r"   r#   r3  r3  d  sÏ   … Ù!Ð":Ó;€HˆhÓ;Ù Ð!5Ó6€GˆXÓ6Ù3;Ð<]Ó3^Ð&¨Ó^Ù"*Ð+EÓ"FÐ�xÓFÙ'Ð(?Ó@€N�HÓ@á)¨,Ó7€J�Ó7Ù$Ð%9Ó:€K�Ó:Ù"*Ð+EÓ"FÐ�xÓFÙ$,Ð-IÓ$JÐ˜ÓJÙ,4Ð5YÓ,ZÐ ÓZñ !(Ð(EÀrÓ J× NÑ NÓ PÐ˜#ÓPØ15€HÐ.Ô5r"   r3  c                  óB   — e Zd ZU  ed«      Zded<    ed«      Zded<   y)Úautotuning_knobsÚTRITON_CACHE_AUTOTUNINGrl   r  ÚTRITON_PRINT_AUTOTUNINGÚprintN)r   r   r    rl   r  r¡   rO  r!   r"   r#   rL  rL  v  s"   … ÙÐ8Ó9€Eˆ8Ó9ÙÐ8Ó9€Eˆ8Ô9r"   rL  c                  ó   — e Zd ZdZdd„Zy)Ú
LaunchHookz3Hook invoked before and after kernel launching
    c                 ó   — y r'   r!   )r;   rÙ   s     r#   rÝ   zLaunchHook.__call__  ó   € Ør"   N)rÙ   r   rT   rU   ©r   r   r    rÓ   rÝ   r!   r"   r#   rQ  rQ  {  s   „ ñôr"   rQ  c                  ó0   — e Zd ZdZ	 	 	 	 	 	 	 	 	 	 	 	 dd„Zy)ÚInitHandleHookz}Hook invoked around kernel binary/module loading.
    module/function can be None for the *start* hook (before loading).
    c                 ó   — y r'   r!   )r;   ÚmoduleÚfunctionr>   rÚ   Úhashs         r#   rÝ   zInitHandleHook.__call__ˆ  s   € ð 	r"   N)rX  rV   rY  zOptional[Callable]r>   r1   rÚ   rà   rZ  r1   rT   rU   rT  r!   r"   r#   rV  rV  ƒ  sF   „ ñðà ðð %ðð ð	ð
 'ðð ðð 
ôr"   rV  ÚFc                  ó0   — e Zd ZdZddd„Zd	d„Zd	d„Zd„ Zy)
Ú	HookChainz?A chain of hooks of the same type F to be called in order.
    c                ó    — g | _         || _        y r'   )ÚcallsÚreversed)r;   r`  s     r#   r<   zHookChain.__init__š  s   € Ø ˆŒ
Ø ˆ�r"   c                óX   — || j                   vr| j                   j                  |«       y y r'   )r_  Úappend©r;   Úfuncs     r#   ÚaddzHookChain.addž  s%   € Ø�t—z‘zÑ!Ø�J‰J×Ñ˜dÕ#ð "r"   c                óX   — || j                   v r| j                   j                  |«       y y r'   )r_  Úremoverc  s     r#   rg  zHookChain.remove¢  s%   € Ø�4—:‘:ÑØ�J‰J×Ñ˜dÕ#ð r"   c                óx   — | j                   s| j                  nt        | j                  «      D ]
  } ||i |¤Ž Œ y r'   )r`  r_  )r;   ÚargsÚkwargsÚcalls       r#   rÝ   zHookChain.__call__¦  s3   € Ø&*§m¢m�D—J’J¼À$Ç*Á*Ó9Mò 	"ˆDÙ�$Ð!˜&Ó!ñ	"r"   Nro   )r`  r$   )rd  r[  rT   rU   )r   r   r    rÓ   r<   re  rg  rÝ   r!   r"   r#   r]  r]  –  s   „ ñô!ó$ó$ó"r"   r]  c                  ó�   — e Zd ZU ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   y)ÚJITHookCompileInfor1   r*   zdict[KernelParam, str]Ú	signaturer2   ÚdevicerU   Ú	constantsÚ	num_warpsÚnum_ctasÚ
num_stagesr$   Úenable_fp_fusionÚlaunch_cooperative_gridztuple[tuple[str, str], ...]Úextern_libsz-list[dict[tuple[int, ...], list[KernelAttr]]]ÚconfigsÚspecialization_dataÚ	is_warmupN)r   r   r    r¡   r!   r"   r#   rm  rm  °  sI   … Ø	ƒHØ%Ó%ØƒKØƒOØƒNØƒMØƒOØÓØ!Ó!Ø,Ó,Ø:Ó:ØÓØ„Or"   rm  c                  ó   — e Zd Z	 	 	 	 dd„Zy)ÚJITHookc                ó   — y r'   r!   )r;   r*   ÚreprÚfnÚcompileÚis_manual_warmupÚalready_compileds          r#   rÝ   zJITHook.__call__Â  rÞ   r"   N)r*   r1   r}  r1   r~  r   r  rm  r€  r$   r�  r$   rT   zOptional[bool]rá   r!   r"   r#   r{  r{  À  s   „ ðØ#'ðØ,:ôr"   r{  c                  ó   — e Zd Zd„ Zy)ÚPipelineStagesHookc                 ó   — y r'   r!   )r;   ÚstagesÚoptionsÚlanguageÚ
capabilitys        r#   rÝ   zPipelineStagesHook.__call__É  rS  r"   Nrá   r!   r"   r#   rƒ  rƒ  Ç  s   „ ór"   rƒ  c                  ó
  — e Zd ZU  ed«      Zded<    ed«      j                  «       Zded<    ed«      Z	ded	<    e
«       Zd
ed<    e
d¬«      Zd
ed<    e
«       Zded<    e
d¬«      Zded<   dZded<   dZded<   dZded<   y)Úruntime_knobsÚTRITON_INTERPRETrl   Ú	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_hook)r   r   r    rl   rŒ  r¡   rC   rŽ  r¾   r�  r]  r‘  r’  r“  r”  r•  r–  r—  r!   r"   r#   rŠ  rŠ  Í  s¥   … Ù"Ð#5Ó6€IˆxÓ6ñ ˜>Ó*×.Ñ.Ó0€Eˆ4Ó0Ù!,Ð-CÓ!D€M�;ÓDá/8«{ÐÐ,Ó:Ù.7ÀÔ.FÐÐ+ÓFÙ8A»ÐÐ5ÓCÙ6?ÈÔ6NÐÐ3ÓNð )-€NÐ%Ó,ð 04ÐÐ,Ó3ð @DÐÐ <ÔCr"   rŠ  c                  óD   — e Zd ZU  ed«      Zded<    edd«      Zded<   y)	Úlanguage_knobsÚTRITON_F32_DEFAULTr¾   Úfp32_defaultÚTRITON_DEFAULT_FP_FUSIONTrl   Údefault_fp_fusionN)r   r   r    r¾   r›  r¡   rl   r�  r!   r"   r#   r™  r™  ã  s%   … Ù +Ð,@Ó A€L�+ÓAÙ"*Ð+EÀtÓ"LÐ�xÔLr"   r™  c                  ó,  — e Zd ZU  ed«      Zded<    ed«      Zded<    ed«      Zded<    ed«      Zded<    e	d«      Z
ded	<    e	d
«      Zded<    ed«      Zded<    ed«      Zded<    e	d«      Zded<    ed«      Zded<    ed«      Zded<   y)Únvidia_knobsÚ	cuobjdumpr¦   ÚnvdisasmÚptxaszptxas-blackwellÚptxas_blackwellÚNVPTX_ENABLE_DUMPrl   Ú
dump_nvptxÚDISABLE_PTXAS_OPTÚdisable_ptxas_optÚPTXAS_OPTIONSr¾   Úptxas_optionsÚTRITON_MOCK_PTX_VERSIONÚmock_ptx_versionÚTRITON_DUMP_PTXAS_LOGÚdump_ptxas_logÚTRITON_LIBDEVICE_PATHÚlibdevice_pathÚTRITON_LIBCUDA_PATHÚlibcuda_pathN)r   r   r    r¦   r   r¡   r¡  r¢  r£  rl   r¥  r§  r¾   r©  r«  r­  r¯  r±  r!   r"   r#   rŸ  rŸ  è  s°   … Ù!0°Ó!=€IˆÓ=Ù /°
Ó ;€HˆoÓ;Ù,¨WÓ5€Eˆ?Ó5Ù'6Ð7HÓ'I€O�_ÓIá#Ð$7Ó8€J�Ó8Ù"*Ð+>Ó"?Ð�xÓ?Ù!,¨_Ó!=€M�;Ó=Ù$/Ð0IÓ$JÐ�kÓJÙ'Ð(?Ó@€N�HÓ@á"-Ð.EÓ"F€N�KÓFÙ +Ð,AÓ B€L�+ÔBr"   rŸ  c                  óþ   — e Zd ZU  edd«      Zded<    edd«      Zded<    edd«      Zded	<    ed
«      Zded<    e	d«      Z
ded<    ed«      Zded<    ed«      Zded<    ed«      Zded<    ed«      Zded<   y)Ú	amd_knobsÚAMDGCN_USE_BUFFER_OPSTrl   Úuse_buffer_opsÚAMDGCN_USE_BUFFER_ATOMICSÚuse_buffer_atomicsÚ!AMDGCN_ANALYZE_SMALL_TENSOR_RANGEFÚ%buffer_ops_analyze_small_tensor_rangeÚAMDGCN_ENABLE_DUMPÚdump_amdgcnÚTRITON_LIBHIP_PATHr¾   Úlibhip_pathÚTRITON_HIP_USE_BLOCK_PINGPONGrÄ   Úuse_block_pingpongÚ"TRITON_HIP_USE_IN_THREAD_TRANSPOSEÚuse_in_thread_transposeÚTRITON_HIP_USE_ASYNC_COPYÚuse_async_copyÚAMDGCN_SCALARIZE_PACKED_FOPSÚscalarize_packed_fopsN)r   r   r    rl   rµ  r¡   r·  r¹  r»  r¾   r½  rÄ   r¿  rÁ  rÃ  rÅ  r!   r"   r#   r³  r³  ø  s    … Ù'Ð(?ÀÓF€N�HÓFá#+Ð,GÈÓ#NÐ˜ÓNá6>Ð?bÐdiÓ6jÐ)¨8ÓjÙ$Ð%9Ó:€K�Ó:Ù*Ð+?Ó@€K�Ó@ñ (4Ð4SÓ'TÐ˜ÓTÙ,8Ð9]Ó,^Ð˜\Ó^á'Ð(CÓD€N�HÓDÙ&.Ð/MÓ&NÐ˜8ÔNr"   r³  c                  óÖ   — e Zd ZU  edd«      Zded<    ed e ej                  e
«      j                  j                  «       dz  dz  dz  d	z  «      «      Zd
ed<    edd«      Zded<   y)Úproton_knobsÚTRITON_PROTON_DISABLEFrl   ÚdisableÚTRITON_CUPTI_LIB_PATHr©   rª   ÚlibÚcuptirY   Úcupti_lib_dirÚTRITON_ENABLE_NVTXTÚenable_nvtxN)r   r   r    rl   rÉ  r¡   rY   r1   ÚpathlibÚPathrµ   ÚparentÚabsoluterÍ  rÏ  r!   r"   r#   rÇ  rÇ  	  su   … Ù Ð!8¸%Ó@€GˆXÓ@Ù$ØÙˆLˆG�L‰L˜Ó"×)Ñ)×2Ñ2Ó4°zÑAÀHÑLÈuÑTÐW^Ñ^Ó_óa€M�7ó añ %Ð%9¸4Ó@€K�Ô@r"   rÇ  c                 óŽ   — t        d«      j                  «       t        _        t	        dd«      j                  «       t
        _        y )Nr�  rG  rH  )rl   rC   ÚruntimerŽ  rY   ÚcompilationrI  r!   r"   r#   Úrefresh_knobsr×    s0   € Ü˜^Ó,×0Ñ0Ó2„G„MÜ'.Ð/LÈbÓ'Q×'UÑ'UÓ'W„KÕ$r"   )r*   r1   r+   rÁ   rT   rU   )r3   r   rT   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,   r5   r6   r7   rW   rD   r9   r1   rY   rg   r$   rl   r2   rq   ry   r{   r�   r¦   r¾   rÄ   rÈ   rÖ   râ   rã   rþ   r  r  r  r3  rL  rQ  rV  r[  r]  ÚlistÚ
KernelAttrrm  r{  rƒ  rŠ  r™  rŸ  r³  rÇ  ÚbuildÚredisr  rÖ  Ú
autotuningrÕ  r‡  rª   ÚamdÚprotonr×  r!   r"   r#   ú<module>rè     s%  ðÞ "ã Û Û 	Û 	Û Û Û å !Ý %ß ~× ~× ~Ó ~ç 3áß?ß9ß@Ñ@÷	ñ 	ñ 
ƒe€à€ˆtÓ óóñ& �)Ó
€Ù
�)Ó
€á‹8€ô"ˆw�w Ð'Ñ(ô "ôD.ˆh�s˜C�xÑ ô .ô
˜x¨¨S¨Ñ1ô 
ô3ˆx˜˜d˜
Ñ#ô 3ôYˆh�s˜C�xÑ ô Yñ  �KÓ €	ô*�˜	Ñ" H¨X°d¸9±oÑ-FÈÐQUÐV_ÑQ`ÑHaÐ-aÑ$bô *ð, ÷ð ó ðô"9�h˜s J˜Ñ/ô 9ô8 �(˜8 C™=¨(°3©-Ð7Ñ8ô  ô+�8ô +ñ �$Ô÷Qð Qó ðQô4˜(ô ñ �\¨Ô6€
÷'&ñ '&ôT�ô ô\�*ô \ô7�*ô 7ð Ó ô?�*ô ?ô6˜
ô 6ô$:�zô :ô
�ô ô�Xô ñ  ˆC�xÔ €ô"�˜‘
ô "ð. �%˜˜S˜‘/Ñ"€
ô˜ô ô ˆhô ô˜ô ôD�Jô Dô,M�Zô Mô
C�:ô Cô O�
ô Oô"A�:ô Añ 	‹€Ù‹€Ù‹€ÙÓ!€ÙÓ€
Ù
‹/€ÙÓ€Ù	‹€Ùƒk€Ù	‹€óXr"   