§
    ÕóÉj!!  ã                  óp  — 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
Z
d dlZd dlZd dlmZ d dlmZ ddlmZ ddlmZ  ej        ¦   «         d/d„¦   «         Zd0d„Z	 d1d2d„Zd3d„Zej        d4d„¦   «         Zd„ Zd5d„Zd6d#„Zd7d(„Zd8d)„Zd9d*„Z 	 	 	 d:d;d+„Z!	 	 	 d<d=d,„Z"	 	 	 d:d>d-„Z#	 	 	 d<d?d.„Z$dS )@é    )ÚannotationsN)ÚPath)Ú
ModuleTypeé   )Úget_cache_manageré   )ÚknobsÚlanguageÚstrÚreturnc                ó®  — | dk    rdt           j                             d¦  «        }|�|S t          j        d¦  «        }t          j        d¦  «        }|�|n|}|�|S t          d¦  «        ‚| dk    sJ ‚t           j                             d¦  «        }|�|S t          j        d¦  «        }t          j        d	¦  «        }|�|n|}|�|S t          d
¦  «        ‚)NÚcÚCCÚclangÚgcczeFailed to find C compiler. Please specify via CC environment variable or set triton.knobs.build.impl.úc++ÚCXXzclang++zg++zhFailed to find C++ compiler. Please specify via CXX environment variable or set triton.knobs.build.impl.)ÚosÚenvironÚgetÚshutilÚwhichÚRuntimeError)r
   Úccr   r   ÚcxxÚclangxxÚgxxs          úy/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/triton/runtime/build.pyÚ_find_compilerr      sò   € à�3‚€ÝŒZ�^Š^˜DÑ!Ô!ˆØˆ>ØˆIÝ”˜WÑ%Ô%ˆÝŒl˜5Ñ!Ô!ˆØ�OˆSˆS¨ˆØˆ>ØˆIÝØsñuô uð 	uð �uÒÐÐÐÝ
Œ*�.Š.˜Ñ
Ô
€CØ
€Øˆ
åŒl˜9Ñ%Ô%€GÝ
Œ,�uÑ
Ô
€CØ�ˆ#ˆ# g€CØ
€Øˆ
å
Ørñtô tð tó    Úsource_namec                óˆ   — t          | ¦  «        j        }|dk    rdS |dv rdS t          | ¦  «         t          d| › �¦  «        ‚)Nú.cr   >   ú.ccú.cxxú.cppr   zUnrecognized file extension: )r   ÚsuffixÚprintÚ
ValueError)r!   Úexts     r   Ú_language_from_filenamer+   2   sV   € Ý
ˆ{Ñ
Ô
Ô
"€CØ
ˆd‚{€{ØˆsØ
Ð%Ð%Ð%ØˆuÝ	ˆ+ÑÔÐÝ
ÐB°[ÐBÐBÑ
CÔ
CÐCr    r   ÚnameÚsrcÚsrcdirÚlibrary_dirsú	list[str]Úinclude_dirsÚ	librariesÚccflagsc                óŠ  — t           j        j        x}r || |||||¦  «        S t          j        d¦  «        }	t
          j                             || › |	› �¦  «        }
t          |¦  «        }t          j	        ¦   «         }|dk    rd}t          j
        |¬¦  «        d         }t           j        j        }|||g|¢z   }||dddd	d
|
g}|dk    r|                     dd¦  «         |d„ |D ¦   «         z  }|d„ |D ¦   «         z  }|d„ |D ¦   «         z  }|                     |¦  «         t          j        |t          j        ¬¦  «         |
S )NÚ
EXT_SUFFIXÚposix_localÚposix_prefix)ÚschemeÚincludez-O3z-sharedz-fPICz
-Wno-psabiz-or   é   z
-std=c++17c                ó,   — g | ]}t          |¦  «        ‘ŒS © )Ú_library_flag)Ú.0Úlibs     r   ú
<listcomp>z_build.<locals>.<listcomp>O   s    € Ð7Ð7Ð7 c�}˜SÑ!Ô!Ð7Ð7Ð7r    c                ó   — g | ]}d |› �‘ŒS )z-Lr<   ©r>   Údirs     r   r@   z_build.<locals>.<listcomp>P   s   € Ð2Ð2Ð2˜cˆz�CˆzˆzÐ2Ð2Ð2r    c                ó   — g | ]	}|®d|› �‘Œ
S )Nz-Ir<   rB   s     r   r@   z_build.<locals>.<listcomp>Q   s   € ÐEÐEÐE˜c°S°_ˆz�Cˆzˆz°_°_°_r    )Ústdout)r	   ÚbuildÚimplÚ	sysconfigÚget_config_varr   ÚpathÚjoinr   Úget_default_schemeÚ	get_pathsÚbackend_dirsÚinsertÚextendÚ
subprocessÚ
check_callÚDEVNULL)r,   r-   r.   r/   r1   r2   r3   r
   rG   r'   Úsor   r8   Úpy_include_dirÚcustom_backend_dirsÚcc_cmds                   r   Ú_buildrX   <   st  € åŒ{ÔÐ€tð NØˆt�D˜#˜v |°\À9ÑMÔMÐMÝÔ% lÑ3Ô3€FÝ	Œ�Š�f Ð/ vÐ/Ð/Ñ	0Ô	0€BÝ	˜Ñ	!Ô	!€BÝÔ)Ñ+Ô+€Fð �ÒÐØˆÝÔ(°Ð7Ñ7Ô7¸	ÔB€NÝœ+Ô2ÐØ 6¨>Ð"PÐ<OÐ"PÑP€Là�#�u˜i¨°,ÀÀbÐI€FØ�5ÒÐØ�Š�a˜Ñ&Ô&Ð&Ø
Ð7Ð7¨YÐ7Ñ7Ô7Ñ7€FØ
Ð2Ð2 \Ð2Ñ2Ô2Ñ2€FØ
ÐEÐE \ÐEÑEÔEÑE€FØ
‡M‚M�'ÑÔÐÝÔ˜&­Ô);Ð<Ñ<Ô<Ð<Ø€Ir    r?   c                ój   — t          j        d| ¦  «        s|                      d¦  «        rd| › �S d| › �S )Nz\.so(\.\d+)*$z.az-l:z-l)ÚreÚsearchÚendswith)r?   s    r   r=   r=   W   sB   € å	„yÐ! 3Ñ'Ô'ð ¨3¯<ª<¸Ñ+=Ô+=ð Ø�Sˆ{ˆ{ÐØ�ˆ:ˆ:Ðr    c                 óx   — ddl m} m}m} d                      | ¦   «          |¦   «         g |¦   «         ¢¦  «        S )Nr   ©ÚmachineÚsystemÚarchitectureú,)Úplatformr_   r`   ra   rK   r^   s      r   Úplatform_keyrd   ^   sN   € à6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ø�8Š8�W�W‘Y”Y  ¡¤Ð:¨<¨<©>¬>Ð:Ñ;Ô;Ð;r    c                óF   — | dk    rdS | dk    rdS t          d| › �¦  «        ‚)Nr   r#   r   r&   zUnexpected languange: )r)   ©r
   s    r   Ú_get_file_extensionrg   d   s7   € Ø�3‚€ØˆtØ�5ÒÐØˆvÝ
Ð8¨hÐ8Ð8Ñ
9Ô
9Ð9r    rJ   r   c                óô   — t           j                             | |¦  «        }|r|j        st	          d| › d|› �¦  «        ‚t           j                             |¦  «        }|j                             |¦  «         |S )NzFailed to load newly compiled z from )Ú	importlibÚutilÚspec_from_file_locationÚloaderr   Úmodule_from_specÚexec_module)r,   rJ   ÚspecÚmods       r   Ú_load_module_from_pathrq   l   s{   € ÝŒ>×1Ò1°$¸Ñ=Ô=€DØð P�t”{ð PÝÐN¸DÐNÐNÈÐNÐNÑOÔOÐOÝ
Œ.×
)Ò
)¨$Ñ
/Ô
/€CØ„K×Ò˜CÑ Ô Ð Ø€Jr    ÚbytesÚconfigúdict[str, list[str] | None]c                ó  — t          j        ¦   «         }|                     | ¦  «         |                     t          ¦   «                              d¦  «        ¦  «         |                     ¦   «         D ]r\  }}|€Œ|                     |                     d¦  «        ¦  «         |D ]?}|                     |                     d¦  «        ¦  «         |                     d¦  «         Œ@Œs|                     ¦   «         }t          |¦  «        S )Núutf-8ó   :)ÚhashlibÚsha256Úupdaterd   ÚencodeÚitemsÚ	hexdigestr   )r-   rs   ÚdigestÚkÚvsÚvÚkeys          r   Ú_get_cache_managerrƒ   u   sî   € ÝŒ^ÑÔ€FØ
‡M‚M�#ÑÔÐØ
‡M‚M•,‘.”.×'Ò'¨Ñ0Ô0Ñ1Ô1Ð1Ø—’‘”ð  ð  ‰ˆˆ2Øˆ:ØØ�Š�a—h’h˜wÑ'Ô'Ñ(Ô(Ð(Øð 	 ð 	 ˆAØ�MŠM˜!Ÿ(š( 7Ñ+Ô+Ñ,Ô,Ð,Ø�MŠM˜$ÑÔÐÐð	 ð ×
Ò
Ñ
Ô
€CÝ˜SÑ!Ô!Ð!r    Úsrc_pathúlist[str] | NoneÚload_moduleÚboolc	                óÐ  — t          |g||||¬¦  «        }	t          | |	¬¦  «        }
t          j        d¦  «        }|
                     |› |› �¦  «        }|�^|s|S 	 t          ||¦  «        S # t          t          f$ r5 t          j	        t          ¦  «        }|                     d|› d�¦  «         Y nw xY wt          j        ¦   «         5 }t          ||||pg |pg |pg |pg |¬¦  «        }t          |d¦  «        5 }|
                     |                     ¦   «         |› |› �d¬	¦  «        }d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   |rt          ||¦  «        n|S )
N)r
   r/   r1   r2   r3   )rs   r5   z$Triton cache error: compiled module z.so could not be loadedrf   ÚrbT)Úbinary)Údictrƒ   rH   rI   Úget_filerq   r   ÚImportErrorÚloggingÚ	getLoggerÚ__name__ÚwarningÚtempfileÚTemporaryDirectoryrX   ÚopenÚputÚread)r-   r„   r,   r/   r1   r2   r3   r†   r
   rs   Úcacher'   Ú
cache_pathÚlogÚtmpdirrT   Úfs                    r   Ú_compile_sorœ   „   sM  € å˜H˜:°LÈ|ÐgpØ!ð#ñ #ô #€Få˜s¨6Ð2Ñ2Ô2€EÝÔ% lÑ3Ô3€FØ—’ 4Ð 1¨Ð 1Ð 1Ñ2Ô2€JØÐØð 	ØÐð	^Ý)¨$°
Ñ;Ô;Ð;øÝ�kÐ*ð 	^ð 	^ð 	^ÝÔ#¥HÑ-Ô-ˆCØ�KŠKÐ\¸tÐ\Ð\Ð\Ñ]Ô]Ð]Ð]Ð]ð	^øøøõ 
Ô	$Ñ	&Ô	&ð M¨&Ý�D˜( F¨LÐ,>¸BÀÐ@RÐPRÐT]ÐTcÐacÐelÐerÐprØ%ð'ñ 'ô 'ˆå�"�d‰^Œ^ð 	M˜qØŸš 1§6¢6¡8¤8°Ð->°fÐ->Ð->Àt˜ÑLÔLˆJð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	MðMð Mð Mñ Mô Mð Mð Mð Mð Mð Mð Møøøð Mð Mð Mð Mð 8CÐRÕ! $¨
Ñ3Ô3Ð3È
ÐRsI   ÁA+ Á+AB1Â0B1Ã0E	Ã7/D2Ä&E	Ä2D6	Ä6E	Ä9D6	Ä:E	Å	EÅEc                óD  — t           j                             | ¦  «        } t           j                             | ¦  «        }t	          | d¦  «        5 }|                     ¦   «         }	d d d ¦  «         n# 1 swxY w Y   t          |¦  «        }
t          |	| ||||||
|¬¦	  «	        S )Nr‰   ©	r-   r„   r,   r/   r1   r2   r3   r
   r†   )r   rJ   ÚabspathÚbasenamer”   r–   r+   rœ   )r„   r,   r/   r1   r2   r3   r†   Úsrc_namer›   r-   r
   s              r   Ú_compile_so_from_filer¢   �   sØ   € åŒw�Š˜xÑ(Ô(€HÝŒw×Ò Ñ)Ô)€HÝ	ˆh˜Ñ	Ô	ð  Ø�fŠf‰hŒhˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ' xÑ0Ô0€HÝ˜3¨¸È<ÐfrØ!*°GÀhÐ\gðiñ iô ið is   ÁA0Á0A4Á7A4c                ó’  — |                       d¦  «        }t          j        ¦   «         5 }	t          j                             |	|› t          |¦  «        › �¦  «        }
t          |
d¦  «        5 }|                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          ||
|||||||¬¦	  «	        cd d d ¦  «         S # 1 swxY w Y   d S )Nrv   Úwbrž   )
r{   r’   r“   r   rJ   rK   rg   r”   Úwriterœ   )r-   r,   r/   r1   r2   r3   r
   r†   Ú	src_bytesrš   r„   r›   s               r   Ú_compile_so_from_srcr§   ©   sI  € à—
’
˜7Ñ#Ô#€IÝ	Ô	$Ñ	&Ô	&ð 4¨&Ý”7—<’< ¨4Ð(PÕ1DÀXÑ1NÔ1NÐ(PÐ(PÑQÔQˆÝ�(˜DÑ!Ô!ð 	 QØ�GŠG�IÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	å˜y°8À$ÐUaØ(4À	ÐSZÐemØ'2ð4ñ 4ô 4ð	4ð 4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4s6   ©AB<Á+BÂB<ÂB	ÂB<ÂB	ÂB<Â<C ÃC c           	     ó.   — t          | |||||d¬¦  «        S ©NF©r†   ©r¢   ©r„   r,   r/   r1   r2   r3   s         r   Úcompile_so_from_filer­   µ   s#   € õ ! ¨4°¸|ÈYÐX_ÐmrÐsÑsÔsÐsr    c           
     ó0   — t          | ||||||d¬¦  «        S r©   ©r§   ©r-   r,   r/   r1   r2   r3   r
   s          r   Úcompile_so_from_srcr±   »   s&   € õ    T¨<¸ÀyÐRYÐ[cÐqvÐwÑwÔwÐwr    c           	     ó.   — t          | |||||d¬¦  «        S ©NTrª   r«   r¬   s         r   Úcompile_module_from_filer´   Á   s#   € õ ! ¨4°¸|ÈYÐX_ÐmqÐrÑrÔrÐrr    c           
     ó0   — t          | ||||||d¬¦  «        S r³   r¯   r°   s          r   Úcompile_module_from_srcr¶   Ç   s&   € õ    T¨<¸ÀyÐRYÐ[cÐquÐvÑvÔvÐvr    )r
   r   r   r   )r!   r   r   r   )r   )r,   r   r-   r   r.   r   r/   r0   r1   r0   r2   r0   r3   r0   r
   r   r   r   )r?   r   r   r   )r   r   )r,   r   rJ   r   r   r   )r-   rr   rs   rt   )r-   rr   r„   r   r,   r   r/   r…   r1   r…   r2   r…   r3   r…   r†   r‡   r
   r   )r„   r   r,   r   r/   r…   r1   r…   r2   r…   r3   r…   r†   r‡   )r-   r   r,   r   r/   r…   r1   r…   r2   r…   r3   r…   r†   r‡   )NNNN)r„   r   r,   r   r/   r…   r1   r…   r2   r…   r3   r…   r   r   )NNNNr   )r-   r   r,   r   r/   r…   r1   r…   r2   r…   r3   r…   r   r   )r„   r   r,   r   r/   r…   r1   r…   r2   r…   r3   r…   r   r   )r-   r   r,   r   r/   r…   r1   r…   r2   r…   r3   r…   r   r   )%Ú
__future__r   Ú	functoolsrx   Úimportlib.utilri   r   rZ   r   rQ   rH   r’   rŽ   Úpathlibr   Útypesr   r—   r   Ú r	   Ú	lru_cacher   r+   rX   r=   rd   rg   rq   rƒ   rœ   r¢   r§   r­   r±   r´   r¶   r<   r    r   ú<module>r¾      s–  ðØ "Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ø 	€	€	€	Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð à $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð ð €ÔÑÔðtð tð tñ Ôðtð8Dð Dð Dð Dð 03ðð ð ð ð ð6ð ð ð ð Ôð<ð <ð <ñ Ôð<ð
:ð :ð :ðð ð ð ð"ð "ð "ð "ðSð Sð Sð Sð2	ið 	ið 	ið 	ið	4ð 	4ð 	4ð 	4ð UYØ^bØ59ðtð tð tð tð tð OSØ]aØCFðxð xð xð xð xð Y]ØbfØ9=ðsð sð sð sð sð SWØaeØGJðwð wð wð wð wð wð wr    