§
    6˜ºh¼8  ã            	      ól  — 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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 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<   dXd„Z&dYd„Z'dZd„Z( ed¦  «        Z) ed¦  «        Z* G d„ dee)e*f         ¦  «        Z+ G d„ d e+e,e,f         ¦  «        Z- G d!„ d"e+e.e.f         ¦  «        Z/ G d#„ d$e+e0e0f         ¦  «        Z1 G d%„ d&ee*e)f         e+ee*         ee)         f         ¦  «        Z2 ed'¦  «        Z3 G d(„ d)ee3         e2ee3         ee3         f         ¦  «        Z4e G d*„ d+¦  «        ¦   «         Z5 G d,„ d-e+e,e5f         ¦  «        Z6 G d.„ d/e2e,e,f         e-¦  «        Z7 G d0„ d1e2e.e.f         e/¦  «        Z8 ed¬2¦  «         G d3„ d4¦  «        ¦   «         Z9 G d5„ d6e¦  «        Z: ed7d8¬9¦  «        Z; G d:„ d8¦  «        Z< G d;„ d<e¦  «        Z= G d=„ d>e<¦  «        Z> G d?„ d@e<¦  «        Z?dAe%dB<    G dC„ dAe<¦  «        Z@ G dD„ dEe<¦  «        ZA G dF„ dGe<¦  «        ZB G dH„ dIe¦  «        ZCeDee,e0f                  ZE G dJ„ dKe¦  «        ZF G dL„ dMe¦  «        ZG G dN„ dOe<¦  «        ZH G dP„ dQe<¦  «        ZI G dR„ dSe<¦  «        ZJ G dT„ dUe<¦  «        ZK G dV„ dWe<¦  «        ZL e>¦   «         ZM e?¦   «         ZN e@¦   «         ZO eA¦   «         ZP eB¦   «         ZQ eH¦   «         ZR eI¦   «         ZS eJ¦   «         ZT eK¦   «         ZU eL¦   «         ZVdS )[é    )ÚannotationsN)Ú	dataclass)Úcontextmanager)ÚcastÚAnyÚCallableÚ	GeneratorÚGenericÚOptionalÚProtocolÚTypeÚTypeVarÚ	TypedDictÚTYPE_CHECKINGÚUnioné   )ÚCacheManagerÚRemoteCacheBackend)ÚJitFunctionInfoÚKernelParam)Ú	ASTSourceÚLazyDictÚIRSourcec                  ó   — e Zd ZdS )ÚEnvN©Ú__name__Ú
__module__Ú__qualname__© ó    úT/var/www/html/services/rag-service/venv/lib/python3.11/site-packages/triton/knobs.pyr   r      ó   € € € € € Ø€Dr!   r   TÚboolÚpropagate_envÚkeyÚstrÚreturnúOptional[str]c                óZ   — t          j        | ¦  «        }|�|                     ¦   «         n|S ©N)ÚosÚgetenvÚstrip)r&   Úress     r"   r-   r-      s%   € Ý
Œ)�C‰.Œ.€CØ˜/ˆ3�9Š9‰;Œ;ˆ;¨sÐ2r!   ÚvalueÚNonec                óx   — t           sd S |�|t          j        | <   d S | t          j        v rt          j        | = d S d S r+   )r%   r,   Úenviron)r&   r0   s     r"   Úsetenvr4   !   sF   € Ýð ØˆàÐØ�Œ
�3‰ˆˆØ	•”
Ð	Ð	ÝŒJ�sˆOˆOˆOð 
Ð	r!   Úvalr   ú!Union[None, tuple[Optional[str]]]c                ó–   — | €dS t          | ¦  «        }|t          u r| rdndfS |t          u r| fS |t          u rt          | ¦  «        fS d S )Nr+   Ú1Ú0)Útyper$   r'   Úint)r5   Úts     r"   Útoenvr=   +   s^   € Ø
€{ØˆxåˆS‰	Œ	€AØ�D€y€yØÐ#�� Ð&Ð&à�C€x€xØˆwˆà�C€x€xÝ�C‘”ˆ|Ðàˆ4r!   ÚSetTypeÚGetTypec                  óf   — e Zd Zdd„Zdd„Zd d„Zed!d„¦   «         Zd"d„Zd#d„Z	d$d„Z
d%d„Zd&d„ZdS )'Úenv_baser&   r'   Údefaultú%Union[SetType, Callable[[], SetType]]r(   r1   c                óL   ‡— || _         t          ‰¦  «        r‰nˆfd„| _        d S )Nc                 ó   •— ‰ S r+   r    )rB   s   €r"   ú<lambda>z#env_base.__init__.<locals>.<lambda>F   s   ø€ ÐX_€ r!   )r&   ÚcallablerB   )Úselfr&   rB   s     `r"   Ú__init__zenv_base.__init__D   s0   ø€ ØˆŒÝ9AÀ'Ñ9JÔ9JÐ._¨g¨gÐP_ÐP_ÐP_ÐP_ˆŒˆˆr!   ÚobjclassúType[object]Únamec                ó   — || _         d S r+   )rL   )rH   rJ   rL   s      r"   Ú__set_name__zenv_base.__set_name__H   s   € ØˆŒ	ˆ	ˆ	r!   ÚobjúOptional[object]úOptional[Type[object]]r?   c                óÔ   — |€ t          dt          | ¦  «        › d�¦  «        ‚| j        |j        v r%|                      |j        | j                 ¦  «        S |                      ¦   «         S )NzCannot access z on non-instance)ÚAttributeErrorr:   rL   Ú__dict__Ú	transformÚget)rH   rO   rJ   s      r"   Ú__get__zenv_base.__get__K   s_   € Øˆ;Ý Ð!Nµ$°t±*´*Ð!NÐ!NÐ!NÑOÔOÐOàŒ9˜œÐ$Ð$Ø—>’> #¤,¨t¬yÔ"9Ñ:Ô:Ð:à—8’8‘:”:Ðr!   ú
str | Nonec                ó*   — t          | j        ¦  «        S r+   )r-   r&   ©rH   s    r"   Úenv_valzenv_base.env_valT   s   € å�d”hÑÔÐr!   c                óŒ   — | j         }|                      |€|                      ¦   «         n|                      |¦  «        ¦  «        S r+   )r[   rU   rB   Úfrom_env)rH   Úenvs     r"   rV   zenv_base.getX   s7   € ØŒlˆØ�~Š~°°˜dŸlšl™nœn˜nÀÇÂÈsÑASÔASÑTÔTÐTr!   Úobjectr0   úUnion[SetType, Env]c                óî   — t          |t          ¦  «        r"|j                             | j        d ¦  «         d S ||j        | j        <   t          |¦  «        x}rt          | j        |d         ¦  «         d S d S )Nr   )Ú
isinstancer   rT   ÚpoprL   r=   r4   r&   )rH   rO   r0   r[   s       r"   Ú__set__zenv_base.__set__\   s{   € Ý�e�SÑ!Ô!ð 	-ØŒL×Ò˜TœY¨Ñ-Ô-Ð-Ð-Ð-à&+ˆCŒL˜œÑ#Ý ™,œ,Ð&ˆwð -Ý�t”x ¨¤Ñ,Ô,Ð,Ð,Ð,ð-ð -r!   c                óF   — |j                              | j        d ¦  «         d S r+   )rT   rc   rL   )rH   rO   s     r"   Ú
__delete__zenv_base.__delete__d   s"   € ØŒ×Ò˜œ DÑ)Ô)Ð)Ð)Ð)r!   r5   r>   c                ó,   — t          t          |¦  «        S r+   )r   r?   ©rH   r5   s     r"   rU   zenv_base.transformg   s   € õ •G˜SÑ!Ô!Ð!r!   c                ó   — t          ¦   «         ‚r+   )ÚNotImplementedErrorrh   s     r"   r]   zenv_base.from_envl   s   € Ý!Ñ#Ô#Ð#r!   N)r&   r'   rB   rC   r(   r1   )rJ   rK   rL   r'   r(   r1   )rO   rP   rJ   rQ   r(   r?   )r(   rX   )r(   r?   )rO   r_   r0   r`   r(   r1   )rO   r_   r(   r1   )r5   r>   r(   r?   )r5   r'   r(   r>   )r   r   r   rI   rN   rW   Úpropertyr[   rV   rd   rf   rU   r]   r    r!   r"   rA   rA   B   sÜ   € € € € € ð`ð `ð `ð `ðð ð ð ðð ð ð ð ð ð  ð  ñ „Xð ðUð Uð Uð Uð-ð -ð -ð -ð*ð *ð *ð *ð"ð "ð "ð "ð
$ð $ð $ð $ð $ð $r!   rA   c                  ó   — e Zd Zdd„ZdS )Úenv_strr5   r'   r(   c                ó   — |S r+   r    rh   s     r"   r]   zenv_str.from_envr   ó   € Øˆ
r!   N©r5   r'   r(   r'   )r   r   r   r]   r    r!   r"   rm   rm   p   s(   € € € € € ðð ð ð ð ð r!   rm   c                  ó*   ‡ — e Zd Zddˆ fd„Zdd„Zˆ xZS )Úenv_boolFr&   r'   rB   úUnion[bool, Callable[[], bool]]r(   r1   c                óL   •— t          ¦   «                              ||¦  «         d S r+   ©ÚsuperrI   ©rH   r&   rB   Ú	__class__s      €r"   rI   zenv_bool.__init__x   ó#   ø€ Ý‰Œ×Ò˜˜gÑ&Ô&Ð&Ð&Ð&r!   r5   r$   c                ó.   — |                      ¦   «         dv S )N)r8   ÚtrueÚyesÚonÚy)Úlowerrh   s     r"   r]   zenv_bool.from_env{   s   € Ø�yŠy‰{Œ{Ð=Ð=Ð=r!   )F)r&   r'   rB   rs   r(   r1   )r5   r'   r(   r$   ©r   r   r   rI   r]   Ú__classcell__©rx   s   @r"   rr   rr   v   sV   ø€ € € € € ð'ð 'ð 'ð 'ð 'ð 'ð 'ð>ð >ð >ð >ð >ð >ð >ð >r!   rr   c                  ó*   ‡ — e Zd Zddˆ fd„Zdd„Zˆ xZS )Úenv_intr   r&   r'   rB   úUnion[int, Callable[[], int]]r(   r1   c                óL   •— t          ¦   «                              ||¦  «         d S r+   ru   rw   s      €r"   rI   zenv_int.__init__�   ry   r!   r5   r;   c                ó~   — 	 t          |¦  «        S # t          $ r!}t          d| j        › d|› d�¦  «        |‚d }~ww xY w)NzUnable to use ú=z: expected int)r;   Ú
ValueErrorÚRuntimeErrorr&   )rH   r5   Úexcs      r"   r]   zenv_int.from_env„   s]   € ð	YÝ�s‘8”8ˆOøÝð 	Yð 	Yð 	YÝÐN°´ÐNÐN¸3ÐNÐNÐNÑOÔOÐUXÐXøøøøð	Yøøøs   ‚ ‘
<›7·<)r   )r&   r'   rB   r…   r(   r1   )r5   r'   r(   r;   r€   r‚   s   @r"   r„   r„      s^   ø€ € € € € ð'ð 'ð 'ð 'ð 'ð 'ð 'ðYð Yð Yð Yð Yð Yð Yð Yr!   r„   c                  ó    ‡ — e Zd Zdˆ fd„Zˆ xZS )Úenv_opt_baser&   r'   r(   r1   c                óL   •— t          ¦   «                              |d ¦  «         d S r+   ru   )rH   r&   rx   s     €r"   rI   zenv_opt_base.__init__�   s#   ø€ Ý‰Œ×Ò˜˜dÑ#Ô#Ð#Ð#Ð#r!   )r&   r'   r(   r1   )r   r   r   rI   r�   r‚   s   @r"   r�   r�   ‹   s=   ø€ € € € € ð$ð $ð $ð $ð $ð $ð $ð $ð $ð $r!   r�   Ú	ClassTypec                  ó(   ‡ — e Zd Zd
ˆ fd„Zdd	„Zˆ xZS )Ú	env_classr&   r'   r:   r(   r1   c                óX   •— t          ¦   «                              |¦  «         || _        d S r+   )rv   rI   r:   )rH   r&   r:   rx   s      €r"   rI   zenv_class.__init__–   s&   ø€ Ý‰Œ×Ò˜ÑÔÐàˆŒ	ˆ	ˆ	r!   r5   úType[ClassType]c           	     óÈ  ‡ — |                      dd¦  «        }t          |¦  «        dk    rt          d‰ j        › d|› d�¦  «        ‚t	          t          j        |d         ¦  «        |d         ¦  «        }t          ˆ fd„|                     ¦   «         D ¦   «         ¦  «        s#t          d	|› d
‰ j        › d‰ j	        › d�¦  «        ‚t          t          t                   |¦  «        S )Nú:r   é   zUnable to read z: 'z ' isn't of the form MODULE:CLASSr   c              3  ó8   •K  — | ]}|j         ‰j        k    V — Œd S r+   )r   r:   )Ú.0ÚcrH   s     €r"   ú	<genexpr>z%env_class.from_env.<locals>.<genexpr>¡   s,   øè è € Ð?Ð?°�A”J $¤)Ò+Ð?Ð?Ð?Ð?Ð?Ð?r!   zUnable to use 'z' from z: not of type 'ú')ÚsplitÚlenrŠ   r&   ÚgetattrÚ	importlibÚimport_moduleÚanyÚmror:   r   r   r�   )rH   r5   ÚcompsÚclss   `   r"   r]   zenv_class.from_env›   sÝ   ø€ Ø—	’	˜#˜qÑ!Ô!ˆÝˆu‰:Œ:˜Š?ˆ?ÝÐc°´ÐcÐc¸cÐcÐcÐcÑdÔdÐdÝ•iÔ-¨e°A¬hÑ7Ô7¸¸q¼ÑBÔBˆåÐ?Ð?Ð?Ð?°S·W²W±Y´YÐ?Ñ?Ô?Ñ@Ô@ð 	dÝÐb°ÐbÐb¸T¼XÐbÐbÐVZÔV_ÐbÐbÐbÑcÔcÐcå•D�”O SÑ)Ô)Ð)r!   )r&   r'   r:   r'   r(   r1   )r5   r'   r(   r“   r€   r‚   s   @r"   r‘   r‘   ”   sQ   ø€ € € € € ðð ð ð ð ð ð
	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*r!   r‘   c                  ó<   — e Zd ZU ded<   ded<   edd„¦   «         ZdS )	Ú
NvidiaToolr'   ÚpathÚversionr(   úOptional[NvidiaTool]c                ó2  — 	 t          j        | dgt           j        ¬¦  «        }|€d S t          j        d|                     d¦  «        t          j        ¬¦  «        }|€d S t          | |                     d¦  «        ¦  «        S # t           j	        $ r Y d S w xY w)Nz	--version)Ústderrz.*release (\d+\.\d+).*zutf-8)Úflagsr   )
Ú
subprocessÚcheck_outputÚSTDOUTÚreÚsearchÚdecodeÚ	MULTILINEr¦   ÚgroupÚCalledProcessError)r§   Úresultr¨   s      r"   Ú	from_pathzNvidiaTool.from_path¬   s    € ð		ÝÔ,¨d°KÐ-@ÍÔIZÐ[Ñ[Ô[ˆFØˆ~Ø�tÝ”iÐ 9¸6¿=º=ÈÑ;QÔ;QÕY[ÔYeÐfÑfÔfˆGØˆØ�tÝ˜d G§M¢M°!Ñ$4Ô$4Ñ5Ô5Ð5øÝÔ,ð 	ð 	ð 	Ø�4�4ð	øøøs   ‚$B ¨6B Á "B ÂBÂBN)r§   r'   r(   r©   )r   r   r   Ú__annotations__Ústaticmethodr·   r    r!   r"   r¦   r¦   §   sF   € € € € € € à€I€I�IØ€L€L�Làð
ð 
ð 
ñ „\ð
ð 
ð 
r!   r¦   c                  ó0   ‡ — e Zd Zdˆ fd„Zdd„Zdd
„Zˆ xZS )Úenv_nvidia_toolÚbinaryr'   r(   r1   c                ó¼   •‡ — |t          j        d¦  «        z  }|‰ _        t          ¦   «                              d|                     ¦   «         › d�ˆ fd„¦  «         d S )NÚEXEÚTRITON_Ú_PATHc                 ó˜   •— t           j                             t           j                             t          ¦  «        ddd‰ j        ¦  «        S )NÚbackendsÚnvidiaÚbin)r,   r§   ÚjoinÚdirnameÚ__file__r¼   rZ   s   €r"   rF   z*env_nvidia_tool.__init__.<locals>.<lambda>¿   s8   ø€ Å"Ä'Ç,Â,ÝŒG�OŠO�HÑ%Ô%ØØØØŒKñC
ô C
€ r!   )Ú	sysconfigÚget_config_varr¼   rv   rI   Úupper)rH   r¼   rx   s   ` €r"   rI   zenv_nvidia_tool.__init__¼   sp   øø€ Ø•)Ô*¨5Ñ1Ô1Ñ1ˆØˆŒÝ‰Œ×ÒÐ8 6§<¢<¡>¤>Ð8Ð8Ð8ð ;
ð ;
ð ;
ð ;
ñ 	ô 	ð 	ð 	ð 	r!   r§   r¦   c                óê   — ||                       ¦   «         g}|D ]D}|rt          j        |t          j        ¦  «        sŒ$t                               |¦  «        x}r|c S ŒEt          d| j        › �¦  «        ‚)NzCannot find )rB   r,   ÚaccessÚX_OKr¦   r·   rŠ   r¼   )rH   r§   ÚpathsÚtools       r"   rU   zenv_nvidia_tool.transformÇ   sŽ   € àð �LŠL‰NŒNð	
ˆð ð 	ð 	ˆDØð �rœy¨­r¬wÑ7Ô7ð ØÝ!×+Ò+¨DÑ1Ô1Ð1ˆtð Ø���ðõ Ð7¨$¬+Ð7Ð7Ñ8Ô8Ð8r!   r5   c                ó   — |S r+   r    rh   s     r"   r]   zenv_nvidia_tool.from_envÖ   ro   r!   )r¼   r'   r(   r1   )r§   r'   r(   r¦   rp   )r   r   r   rI   rU   r]   r�   r‚   s   @r"   r»   r»   º   se   ø€ € € € € ð	ð 	ð 	ð 	ð 	ð 	ð9ð 9ð 9ð 9ðð ð ð ð ð ð ð r!   r»   c                  ó   — e Zd ZdS )Úenv_opt_strNr   r    r!   r"   rÒ   rÒ   Û   r#   r!   rÒ   c                  ó   — e Zd ZdS )Úenv_opt_boolNr   r    r!   r"   rÔ   rÔ   ß   r#   r!   rÔ   )Úfrozenc                  ób   — e Zd ZU dZded<   ded<   ded<   edd„¦   «         Zedd	„¦   «         Zd
S )ÚCompileTimeszm
    Model holding timing information for an invocation of the compiler.

    All times in microseconds.
    r;   Úir_initializationzlist[tuple[str, int]]Úlowering_stagesÚstore_resultsr(   c                ó>   — t          d„ | j        D ¦   «         ¦  «        S )Nc              3  ó&   K  — | ]}|d          V — ŒdS )r   Nr    )r˜   Ústages     r"   rš   z.CompileTimes.total_lowering.<locals>.<genexpr>÷   s&   è è € Ð?Ð? �E˜!”HÐ?Ð?Ð?Ð?Ð?Ð?r!   )ÚsumrÙ   rZ   s    r"   Útotal_loweringzCompileTimes.total_loweringõ   s"   € åÐ?Ð?¨$Ô*>Ð?Ñ?Ô?Ñ@Ô@Ð@r!   c                ó0   — | j         | j        z   | j        z   S r+   )rØ   rß   rÚ   rZ   s    r"   ÚtotalzCompileTimes.totalù   s   € àÔ%¨Ô(;Ñ;¸dÔ>PÑPÐPr!   N)r(   r;   )r   r   r   Ú__doc__r¸   rk   rß   rá   r    r!   r"   r×   r×   ã   s’   € € € € € € ðð ð ÐÐÑð +Ð*Ð*Ñ*ð ÐÐÑàðAð Að Añ „XðAð ðQð Qð Qñ „XðQð Qð Qr!   r×   c                  ó   — e Zd Zdd„ZdS )ÚCompilationListenerÚsrcúUnion[ASTSource, IRSource]Úmetadataúdict[str, Any]Úmetadata_groupúdict[str, str]Útimesr×   Ú	cache_hitr$   r(   r1   c               ó   — d S r+   r    )rH   rå   rç   ré   rë   rì   s         r"   Ú__call__zCompilationListener.__call__   ó   € àˆr!   N)rå   ræ   rç   rè   ré   rê   rë   r×   rì   r$   r(   r1   ©r   r   r   rî   r    r!   r"   rä   rä   þ   ó(   € € € € € ðð ð ð ð ð r!   rä   Ú
knobs_typeÚ
base_knobs)Úboundc                  óf   — e Zd Zedd„¦   «         Zedd„¦   «         Zdd„Zdd	„Zedd„¦   «         Z	dS )ró   r(   údict[str, env_base]c                ób   — d„ t          | ¦  «        j                             ¦   «         D ¦   «         S )Nc                óD   — i | ]\  }}t          |t          ¦  «        ¯||“ŒS r    )rb   rA   )r˜   ÚkÚvs      r"   ú
<dictcomp>z/base_knobs.knob_descriptors.<locals>.<dictcomp>  s@   € ð 
ð 
ð 
ñ ��1Ý˜!�XÑ&Ô&ð	
Øˆqð
ð 
ð 
r!   )r:   rT   ÚitemsrZ   s    r"   Úknob_descriptorszbase_knobs.knob_descriptors
  s:   € ð
ð 
õ ˜T™
œ
Ô+×1Ò1Ñ3Ô3ð
ñ 
ô 
ð 	
r!   rè   c                óN   ‡ — ˆ fd„‰ j                              ¦   «         D ¦   «         S )Nc                ó2   •— i | ]}|t          ‰|¦  «        “ŒS r    )rž   )r˜   rù   rH   s     €r"   rû   z$base_knobs.knobs.<locals>.<dictcomp>  s%   ø€ ÐJÐJÐJ¨�•7˜4 Ñ#Ô#ÐJÐJÐJr!   )rý   ÚkeysrZ   s   `r"   Úknobszbase_knobs.knobs  s,   ø€ àJÐJÐJÐJ¨TÔ-B×-GÒ-GÑ-IÔ-IÐJÑJÔJÐJr!   rH   rò   c                ór   —  t          | ¦  «        ¦   «         }|j                             | j        ¦  «         |S r+   )r:   rT   Úupdate)rH   r/   s     r"   Úcopyzbase_knobs.copy  s0   € Ø�d�4‰jŒj‰lŒlˆØŒ×Ò˜DœMÑ*Ô*Ð*Øˆ
r!   c                ó^   — | j                              ¦   «         D ]}t          | |¦  «         Œ| S r+   )rý   r   Údelattr)rH   Úknobs     r"   Úresetzbase_knobs.reset  s8   € ØÔ)×.Ò.Ñ0Ô0ð 	 ð 	 ˆDÝ�D˜$ÑÔÐÐØˆr!   úGenerator[None, None, None]c              #  ót  K  — 	 d„ | j                              ¦   «         D ¦   «         }t          | j        ¦  «        }d V — | j                             ¦   «          | j                             |¦  «         |                     ¦   «         D ]2\  }}|�|t          j        |<   Œ|t          j        v rt          j        |= Œ3d S # | j                             ¦   «          | j                             |¦  «         |                     ¦   «         D ]2\  }}|�|t          j        |<   Œ|t          j        v rt          j        |= Œ3w xY w)Nc                ó(   — i | ]}|j         |j        “ŒS r    )r&   r[   )r˜   r  s     r"   rû   z$base_knobs.scope.<locals>.<dictcomp>$  s   € Ð]Ð]Ð]°d˜4œ8 T¤\Ð]Ð]Ð]r!   )	rý   ÚvaluesÚdictrT   Úclearr  rü   r,   r3   )rH   Úinitial_envÚorigrù   rú   s        r"   Úscopezbase_knobs.scope!  s:  è è € ð	&Ø]Ð]¸dÔ>S×>ZÒ>ZÑ>\Ô>\Ð]Ñ]Ô]ˆKÝ˜œÑ&Ô&ˆDØˆEˆEˆEàŒM×ÒÑ!Ô!Ð!ØŒM× Ò  Ñ&Ô&Ð&à#×)Ò)Ñ+Ô+ð &ð &‘��1Ø�=Ø$%•B”J˜q‘M�MØ�"œ*�_�_Ýœ
 1˜øð	&ð &øð ŒM×ÒÑ!Ô!Ð!ØŒM× Ò  Ñ&Ô&Ð&à#×)Ò)Ñ+Ô+ð &ð &‘��1Ø�=Ø$%•B”J˜q‘M�MØ�"œ*�_�_Ýœ
 1˜øð	&øøøs   „;B; Â;A<D7N)r(   rö   )r(   rè   )rH   rò   r(   rò   )r(   r	  )
r   r   r   rk   rý   r  r  r  r   r  r    r!   r"   ró   ró     sž   € € € € € àð
ð 
ð 
ñ „Xð
ð ðKð Kð Kñ „XðKðð ð ð ð
ð ð ð ð
 ð&ð &ð &ñ „^ð&ð &ð &r!   c                  ó   — e Zd Zdd
„ZdS )Ú	BuildImplrL   r'   rå   ÚsrcdirÚlibrary_dirsú	list[str]Úinclude_dirsÚ	librariesr(   c               ó   — d S r+   r    )rH   rL   rå   r  r  r  r  s          r"   rî   zBuildImpl.__call__4  rï   r!   N)rL   r'   rå   r'   r  r'   r  r  r  r  r  r  r(   r'   rð   r    r!   r"   r  r  2  rñ   r!   r  c                  óš   — e Zd ZU dZ ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<   d	Z	d
ed<   e
dd„¦   «         Zd	S )Úbuild_knobsz<Configuration controlling how the native compiler is invokedÚCCrÒ   ÚccÚTRITON_CUDACRT_PATHÚcudacrt_pathÚTRITON_CUDART_PATHÚcudart_pathNzOptional[BuildImpl]Úimplr(   úset[str]c                ó2   — d„ | j         | j        fD ¦   «         S )Nc                ó   — h | ]}|®|’ŒS r+   r    )r˜   r§   s     r"   ú	<setcomp>z+build_knobs.backend_dirs.<locals>.<setcomp>D  s   € Ð[Ð[Ð[˜È$ÐJZ�ÐJZÐJZÐJZr!   )r  r!  rZ   s    r"   Úbackend_dirszbuild_knobs.backend_dirsB  s!   € à[Ð[ $Ô"3°TÔ5EÐ!FÐ[Ñ[Ô[Ð[r!   )r(   r#  )r   r   r   râ   rÒ   r  r¸   r  r!  r"  rk   r'  r    r!   r"   r  r  9  s¤   € € € € € € ØFÐFØ!�k $Ñ'Ô'€BÐ'Ð'Ð'Ñ'à + Ð,AÑ BÔ B€LÐBÐBÐBÑBØ*˜{Ð+?Ñ@Ô@€KÐ@Ð@Ð@Ñ@à $€DÐ$Ð$Ð$Ñ$àð\ð \ð \ñ „Xð\ð \ð \r!   r  c                  óv   — e Zd ZU  edd¦  «        Zded<    edd¦  «        Zded<    edd	¦  «        Zd
ed<   dS )Úredis_knobsÚTRITON_REDIS_KEY_FORMATztriton:{key}:{filename}rm   Ú
key_formatÚTRITON_REDIS_HOSTÚ	localhostÚhostÚTRITON_REDIS_PORTië  r„   ÚportN)	r   r   r   rm   r+  r¸   r.  r„   r0  r    r!   r"   r)  r)  G  sm   € € € € € € Ø!˜'Ð";Ð=VÑWÔW€JÐWÐWÐWÑWØ�GÐ/°Ñ=Ô=€DÐ=Ð=Ð=Ñ=Ø�GÐ/°Ñ6Ô6€DÐ6Ð6Ð6Ñ6Ð6Ð6r!   r)  Úcache_knobsÚcachec                  óì   — 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d„ ¦  «        Zded<    e	dd¦  «        Z
ded<    e	dd¦  «        Zded<   dd„ZdS )r1  ÚTRITON_HOMEc                 ó@   — t           j                             d¦  «        S )Nz~/)r,   r§   Ú
expanduserr    r!   r"   rF   zcache_knobs.<lambda>Q  s   € µr´w×7IÒ7IÈ$Ñ7OÔ7O€ r!   rm   Úhome_dirÚTRITON_DUMP_DIRc                 ó6   — t                                d¦  «        S )NÚdump©r2  Úget_triton_dirr    r!   r"   rF   zcache_knobs.<lambda>S  s   € ½5×;OÒ;OÐPVÑ;WÔ;W€ r!   Údump_dirÚTRITON_OVERRIDE_DIRc                 ó6   — t                                d¦  «        S )NÚoverrider;  r    r!   r"   rF   zcache_knobs.<lambda>T  s   € Å5×CWÒCWÐXbÑCcÔCc€ r!   Úoverride_dirÚTRITON_CACHE_DIRc                 ó6   — t                                d¦  «        S )Nr2  r;  r    r!   r"   rF   zcache_knobs.<lambda>U  s   € µu×7KÒ7KÈGÑ7TÔ7T€ r!   ÚdirÚTRITON_CACHE_MANAGERr   zenv_class[CacheManager]Úmanager_classÚTRITON_REMOTE_CACHE_BACKENDr   zenv_class[RemoteCacheBackend]Úremote_manager_classrÆ   r'   r(   c                óN   — t           j                             | j        d|¦  «        S )Nz.triton)r,   r§   rÅ   r7  )rH   rÆ   s     r"   r<  zcache_knobs.get_triton_dirZ  s   € ÝŒw�|Š|˜DœM¨9°gÑ>Ô>Ð>r!   N)rÆ   r'   r(   r'   )r   r   r   rm   r7  r¸   r=  rA  rD  r‘   rF  rH  r<  r    r!   r"   r1  r1  P  sï   € € € € € € Ø˜ Ð/OÐ/OÑPÔP€HÐPÐPÐPÑPà˜Ð 1Ð3WÐ3WÑXÔX€HÐXÐXÐXÑXØ#˜GÐ$9Ð;cÐ;cÑdÔd€LÐdÐdÐdÑdØ�7Ð-Ð/TÐ/TÑUÔU€CÐUÐUÐUÑUà-6¨YÐ7MÈ~Ñ-^Ô-^€MÐ^Ð^Ð^Ñ^Ø:C¸)ÐDaÐcwÑ:xÔ:xÐÐxÐxÐxÑxð?ð ?ð ?ð ?ð ?ð ?r!   c                  ó>  — e Zd ZU  ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded	<    e	d
¦  «        Z
ded<    ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<   dZded<   dS )Úcompilation_knobsÚTRITON_KERNEL_OVERRIDErr   r@  ÚTRITON_KERNEL_DUMPÚdump_irÚTRITON_STORE_BINARY_ONLYÚstore_binary_onlyÚTRITON_ALWAYS_COMPILEÚalways_compileÚ
USE_IR_LOCrÒ   Ú
use_ir_locÚTRITON_ENABLE_ASANÚenable_asanÚTRITON_DISABLE_LINE_INFOÚdisable_line_infoÚTRITON_FRONT_END_DEBUGGINGÚfront_end_debuggingÚ"TRITON_ALLOW_NON_CONSTEXPR_GLOBALSÚallow_non_constexpr_globalsNz Union[CompilationListener, None]Úlistener)r   r   r   rr   r@  r¸   rN  rP  rR  rÒ   rT  rV  rX  rZ  r\  r]  r    r!   r"   rK  rK  ^  s"  € € € € € € Ø!˜Ð":Ñ;Ô;€HÐ;Ð;Ð;Ñ;Ø ˜Ð!5Ñ6Ô6€GÐ6Ð6Ð6Ñ6Ø"* (Ð+EÑ"FÔ"FÐÐFÐFÐFÑFØ'˜xÐ(?Ñ@Ô@€NÐ@Ð@Ð@Ñ@à)˜k¨,Ñ7Ô7€JÐ7Ð7Ð7Ñ7Ø$˜HÐ%9Ñ:Ô:€KÐ:Ð:Ð:Ñ:Ø"* (Ð+EÑ"FÔ"FÐÐFÐFÐFÑFØ$, HÐ-IÑ$JÔ$JÐÐJÐJÐJÑJØ,4¨HÐ5YÑ,ZÔ,ZÐÐZÐZÐZÑZØ15€HÐ5Ð5Ð5Ñ5Ð5Ð5r!   rK  c                  óP   — e Zd ZU  ed¦  «        Zded<    ed¦  «        Zded<   dS )Úautotuning_knobsÚTRITON_CACHE_AUTOTUNINGrr   r2  ÚTRITON_PRINT_AUTOTUNINGÚprintN)r   r   r   rr   r2  r¸   rb  r    r!   r"   r_  r_  l  sJ   € € € € € € Ø�hÐ8Ñ9Ô9€EÐ9Ð9Ð9Ñ9Ø�hÐ8Ñ9Ô9€EÐ9Ð9Ð9Ñ9Ð9Ð9r!   r_  c                  ó   — e Zd Zdd„ZdS )Ú
LaunchHookrç   r   r(   r1   c                ó   — d S r+   r    )rH   rç   s     r"   rî   zLaunchHook.__call__s  s   € Øˆr!   N)rç   r   r(   r1   rð   r    r!   r"   rd  rd  q  s(   € € € € € ðð ð ð ð ð r!   rd  c                  ó’   — e Zd ZU ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   dS )ÚJITHookCompileInfor'   r&   zdict[KernelParam, str]Ú	signaturer;   Údevicer1   Ú	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"   rg  rg  |  s—   € € € € € € Ø€H€H�HØ%Ð%Ð%Ñ%Ø€K€K�KØ€O€O�OØ€N€N�NØ€M€M�MØ€O€O�OØÐÐÑØ!Ð!Ð!Ñ!Ø,Ð,Ð,Ñ,Ø:Ð:Ð:Ñ:ØÐÐÑØ€O€O�O€O€Or!   rg  c                  ó   — e Zd Zdd„ZdS )ÚJITHookr&   r'   ÚreprÚfnr   Úcompilerg  Úis_manual_warmupr$   Úalready_compiledr(   úOptional[bool]c               ó   — d S r+   r    )rH   r&   rv  rw  rx  ry  rz  s          r"   rî   zJITHook.__call__Ž  rï   r!   N)r&   r'   rv  r'   rw  r   rx  rg  ry  r$   rz  r$   r(   r{  rð   r    r!   r"   ru  ru  Œ  rñ   r!   ru  c                  ó¨   — e Zd ZU  ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<   d	Z	d
ed<   d	Z
d
ed<   d	Zded<   d	Zded<   d	S )Úruntime_knobsÚTRITON_INTERPRETrr   Ú	interpretÚTRITON_DEBUGÚdebugÚTRITON_OVERRIDE_ARCHrÒ   Úoverride_archNzOptional[LaunchHook]Úlaunch_enter_hookÚlaunch_exit_hookzOptional[JITHook]Újit_cache_hookÚjit_post_compile_hook)r   r   r   rr   r€  r¸   r‚  rÒ   r„  r…  r†  r‡  rˆ  r    r!   r"   r~  r~  “  s°   € € € € € € Ø"˜(Ð#5Ñ6Ô6€IÐ6Ð6Ð6Ñ6Ø�h˜~Ñ.Ô.€EÐ.Ð.Ð.Ñ.Ø!, Ð-CÑ!DÔ!D€MÐDÐDÐDÑDà.2ÐÐ2Ð2Ð2Ñ2Ø-1ÐÐ1Ð1Ð1Ñ1ð )-€NÐ,Ð,Ð,Ñ,ð 04ÐÐ3Ð3Ð3Ñ3Ð3Ð3r!   r~  c                  óR   — e Zd ZU  ed¦  «        Zded<    edd¦  «        Zded<   dS )	Úlanguage_knobsÚTRITON_F32_DEFAULTrÒ   Úfp32_defaultÚTRITON_DEFAULT_FP_FUSIONTrr   Údefault_fp_fusionN)r   r   r   rÒ   rŒ  r¸   rr   rŽ  r    r!   r"   rŠ  rŠ  ¢  sM   € € € € € € Ø + Ð,@Ñ AÔ A€LÐAÐAÐAÑAØ"* (Ð+EÀtÑ"LÔ"LÐÐLÐLÐLÑLÐLÐ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<   dS )Únvidia_knobsÚ	cuobjdumpr»   ÚnvdisasmÚptxasÚNVPTX_ENABLE_DUMPrr   Ú
dump_nvptxÚDISABLE_PTXAS_OPTÚdisable_ptxas_optÚTRITON_MOCK_PTX_VERSIONrÒ   Úmock_ptx_versionÚTRITON_LIBDEVICE_PATHÚlibdevice_pathÚTRITON_LIBCUDA_PATHÚlibcuda_pathN)r   r   r   r»   r‘  r¸   r’  r“  rr   r•  r—  rÒ   r™  r›  r�  r    r!   r"   r�  r�  §  sñ   € € € € € € Ø!0 °Ñ!=Ô!=€IÐ=Ð=Ð=Ñ=Ø / °
Ñ ;Ô ;€HÐ;Ð;Ð;Ñ;Ø,˜_¨WÑ5Ô5€EÐ5Ð5Ð5Ñ5à#˜8Ð$7Ñ8Ô8€JÐ8Ð8Ð8Ñ8Ø"* (Ð+>Ñ"?Ô"?ÐÐ?Ð?Ð?Ñ?Ø$/ KÐ0IÑ$JÔ$JÐÐJÐJÐJÑJà"- +Ð.EÑ"FÔ"F€NÐFÐFÐFÑFØ + Ð,AÑ BÔ B€LÐBÐBÐBÑBÐBÐBr!   r�  c                  óP  — e Zd ZU  ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    ed	¦  «        Z	ded
<    e
d¦  «        Zded<    e
d¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<    ed¦  «        Zded<   dS )Ú	amd_knobsÚAMDGCN_USE_BUFFER_OPSrr   Úuse_buffer_opsÚAMDGCN_ENABLE_DUMPÚdump_amdgcnÚTRITON_LIBHIP_PATHrÒ   Úlibhip_pathÚTRITON_HIP_LLD_PATHÚlld_pathÚTRITON_HIP_USE_BLOCK_PINGPONGrÔ   Úuse_block_pingpongÚ"TRITON_HIP_USE_IN_THREAD_TRANSPOSEÚuse_in_thread_transposeÚTRITON_HIP_GLOBAL_PREFETCHr„   Úglobal_prefetchÚTRITON_HIP_LOCAL_PREFETCHÚlocal_prefetchÚTRITON_HIP_USE_ASYNC_COPYÚuse_async_copyÚAMDGCN_SCALARIZE_PACKED_FOPSÚscalarize_packed_fopsN)r   r   r   rr   r¡  r¸   r£  rÒ   r¥  r§  rÔ   r©  r«  r„   r­  r¯  r±  r³  r    r!   r"   rŸ  rŸ  ´  s/  € € € € € € Ø'˜xÐ(?Ñ@Ô@€NÐ@Ð@Ð@Ñ@Ø$˜HÐ%9Ñ:Ô:€KÐ:Ð:Ð:Ñ:Ø*˜{Ð+?Ñ@Ô@€KÐ@Ð@Ð@Ñ@Ø'˜KÐ(=Ñ>Ô>€HÐ>Ð>Ð>Ñ>ð (4 |Ð4SÑ'TÔ'TÐÐTÐTÐTÑTØ,8¨LÐ9]Ñ,^Ô,^ÐÐ^Ð^Ð^Ñ^à&˜wÐ'CÑDÔD€OÐDÐDÐDÑDØ%˜gÐ&AÑBÔB€NÐBÐBÐBÑBØ'˜xÐ(CÑDÔD€NÐDÐDÐDÑDØ&. hÐ/MÑ&NÔ&NÐÐNÐNÐNÑNÐNÐNr!   rŸ  c                  ó0   — e Zd ZU  ed¦  «        Zded<   dS )Úproton_knobsÚTRITON_CUPTI_LIB_PATHrÒ   Ú	cupti_dirN)r   r   r   rÒ   r·  r¸   r    r!   r"   rµ  rµ  Ä  s.   € € € € € € Ø(˜[Ð)@ÑAÔA€IÐAÐAÐAÑAÐAÐAr!   rµ  )r&   r'   r(   r)   )r&   r'   r0   r)   r(   r1   )r5   r   r(   r6   )WÚ
__future__r   rŸ   r,   r°   r­   rÈ   Údataclassesr   Ú
contextlibr   Útypingr   r   r   r	   r
   r   r   r   r   r   r   r   Úruntime.cacher   r   Úruntime.jitr   r   Úcompiler.compilerr   r   r   r   r^   r%   r¸   r-   r4   r=   r>   r?   rA   r'   rm   r$   rr   r;   r„   r�   r�   r‘   r¦   r»   rÒ   rÔ   r×   rä   rò   ró   r  r  r)  r1  rK  r_  rd  ÚlistÚ
KernelAttrrg  ru  r~  rŠ  r�  rŸ  rµ  ÚbuildÚredisr2  ÚcompilationÚ
autotuningÚruntimeÚlanguagerÃ   ÚamdÚprotonr    r!   r"   ú<module>rÉ     sÍ  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ø Ð Ð Ð à !Ð !Ð !Ð !Ð !Ð !Ø %Ð %Ð %Ð %Ð %Ð %Ø ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~àð AØ?Ð?Ð?Ð?Ð?Ð?Ð?Ð?Ø9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@ð	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ð 
€c�e„e€à€Ð Ð Ð Ñ ð3ð 3ð 3ð 3ð
ð ð ð ðð ð ð ð& ˆ'�)Ñ
Ô
€Ø
ˆ'�)Ñ
Ô
€ð+$ð +$ð +$ð +$ð +$ˆw�w Ð'Ô(ñ +$ô +$ð +$ð\ð ð ð ð ˆh�s˜C�xÔ ñ ô ð ð>ð >ð >ð >ð >ˆx˜˜d˜
Ô#ñ >ô >ð >ð	Yð 	Yð 	Yð 	Yð 	Yˆh�s˜C�xÔ ñ 	Yô 	Yð 	Yð$ð $ð $ð $ð $�7˜7 GÐ+Ô,¨h°xÀÔ7HÈ(ÐSZÔJ[Ð7[Ô.\ñ $ô $ð $ð ˆG�KÑ Ô €	ð*ð *ð *ð *ð *�˜	Ô" L°°i´À$ÀyÄ/Ð1QÔ$Rñ *ô *ð *ð& ðð ð ð ð ñ ô ñ „ðð$ð ð ð ð �h˜s J˜Ô/ñ ô ð ðB	ð 	ð 	ð 	ð 	�,˜s C˜xÔ(¨'ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�<  d 
Ô+¨Xñ 	ô 	ð 	ð €�$ÐÑÔðQð Qð Qð Qð Qñ Qô Qñ ÔðQð4ð ð ð ð ˜(ñ ô ð ð ˆW�\¨Ð6Ñ6Ô6€
ð'&ð '&ð '&ð '&ð '&ñ '&ô '&ð '&ðTð ð ð ð �ñ ô ð ð\ð \ð \ð \ð \�*ñ \ô \ð \ð7ð 7ð 7ð 7ð 7�*ñ 7ô 7ð 7ð Ð Ð Ñ ð?ð ?ð ?ð ?ð ?�*ñ ?ô ?ð ?ð6ð 6ð 6ð 6ð 6˜
ñ 6ô 6ð 6ð:ð :ð :ð :ð :�zñ :ô :ð :ð
ð ð ð ð �ñ ô ð ð �%˜˜S˜”/Ô"€
ðð ð ð ð ˜ñ ô ð ð ð ð ð ð ˆhñ ô ð ð4ð 4ð 4ð 4ð 4�Jñ 4ô 4ð 4ðMð Mð Mð Mð M�Zñ Mô Mð Mð

Cð 
Cð 
Cð 
Cð 
C�:ñ 
Cô 
Cð 
CðOð Oð Oð Oð O�
ñ Oô Oð Oð Bð Bð Bð Bð B�:ñ Bô Bð Bð 	ˆ‰Œ€Øˆ‰Œ€Øˆ‰Œ€ØÐÑ!Ô!€ØÐÑÔ€
Ø
ˆ-‰/Œ/€Øˆ>ÑÔ€Ø	ˆ‰Œ€Ø€i�k„k€Ø	ˆ‰Œ€€€r!   