ó
    “~iX  ã                  óô   • S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKrS SKJr  SSKJr  SSKJr      SS jrSS	 jr\R*                  SS
 j5       rSS jr   S       SS jjrg)é    )ÚannotationsN)Ú
ModuleTypeé   )Úget_cache_manageré   )Úknobsc                ó˜  • [         R                  R                  =n(       a
  U" XX#XE5      $ [        R                  " S5      n[
        R                  R                  USR                  XS95      n	[
        R                  R                  S5      n
U
cA  [        R                  " S5      n[        R                  " S5      nUb  UOUn
U
c  [        S5      e[        R                  " 5       nUS:X  a  S	n[        R                  " US
9S   n[         R                  R                   nXBU/UQ-   nX¡SSSSSU	/nUU Vs/ s H  n[#        U5      PM     sn-  nUU Vs/ s H  nSU 3PM
     sn-  nUU Vs/ s H  nUc  M  SU 3PM     sn-  nUR%                  U5        [&        R(                  " U[&        R*                  S9  U	$ s  snf s  snf s  snf )NÚ
EXT_SUFFIXz{name}{suffix})ÚnameÚsuffixÚCCÚclangÚgcczeFailed to find C compiler. Please specify via CC environment variable or set triton.knobs.build.impl.Úposix_localÚposix_prefix)ÚschemeÚincludez-O3z-sharedz-fPICz
-Wno-psabiz-oz-Lz-I)Ústdout)r   ÚbuildÚimplÚ	sysconfigÚget_config_varÚosÚpathÚjoinÚformatÚenvironÚgetÚshutilÚwhichÚRuntimeErrorÚget_default_schemeÚ	get_pathsÚbackend_dirsÚ_library_flagÚextendÚ
subprocessÚ
check_callÚDEVNULL)r   ÚsrcÚsrcdirÚlibrary_dirsÚinclude_dirsÚ	librariesÚccflagsr   r   ÚsoÚccr   r   r   Úpy_include_dirÚcustom_backend_dirsÚcc_cmdÚlibÚdirs                      ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/triton/runtime/build.pyÚ_buildr8      s©  € ä�{‰{×ÑÐ€tÕÙ�D˜v°\ÓMÐMÜ×%Ò% lÓ3€FÜ	�‰�‰�fÐ.×5Ñ5¸4Ð5ÐOÓ	P€BÜ	�‰�‰˜Ó	€BØ	�zÜ—’˜WÓ%ˆÜ�lŠl˜5Ó!ˆØ‘O‰S¨ˆØ‰:ÜØwóyð yä×)Ò)Ó+€Fð �ÓØˆÜ×(Ò(°Ñ7¸	ÑB€NÜŸ+™+×2Ñ2ÐØ¨>Ð"PÐ<OÐ"PÑP€Là�u˜i¨°,ÀÀbÐI€FØ
©YÓ7ªY cŒ}˜SÖ!©YÑ7Ñ7€FØ
¡\Ó2¢\˜c��C�5‹z¡\Ñ2Ñ2€FØ
¡\ÓE¢\˜c°S‹z��C�5‹z¡\ÑEÑE€FØ
‡M�M�'ÔÜ×Ò˜&¬×);Ñ);Ò<Ø€Iùò 8ùÚ2ùÚEs   Ä6F=ÅGÅ.GÅ9	Gc                óz   • [         R                  " SU 5      (       d  U R                  S5      (       a  SU  3$ SU  3$ )Nz\.so(\.\d+)*$z.az-l:z-l)ÚreÚsearchÚendswith)r5   s    r7   r%   r%   4   s:   € ä	‡y‚yÐ! 3×'Ñ'¨3¯<©<¸×+=Ñ+=Ø�S�Eˆ{ÐØ�ˆuˆ:Ðó    c                 ó^   • SSK Jn JnJn  SR	                  U " 5       U" 5       /U" 5       Q5      $ )Nr   ©ÚmachineÚsystemÚarchitectureÚ,)Úplatformr@   rA   rB   r   r?   s      r7   Úplatform_keyrE   ;   s'   € ç6Ñ6Ø�8‰8‘W“Y¡£Ð:©<«>Ð:Ó;Ð;r=   c                ó
  • [         R                  R                  X5      nU(       a  UR                  (       d  [	        SU  SU 35      e[         R                  R                  U5      nUR                  R                  U5        U$ )NzFailed to load newly compiled z from )Ú	importlibÚutilÚspec_from_file_locationÚloaderr!   Úmodule_from_specÚexec_module)r   r   ÚspecÚmods       r7   Ú_load_module_from_pathrO   A   sc   € Ü�>‰>×1Ñ1°$Ó=€DÞ�t—{—{ÜÐ;¸D¸6ÀÈÀvÐNÓOÐOÜ
�.‰.×
)Ñ
)¨$Ó
/€CØ‡K�K×Ñ˜CÔ Ø€Jr=   c                ó²  • [         R                  " U [        5       -   R                  S5      5      R	                  5       n[        U5      n[        R                  " S5      nUR                  U U 35      n	U	b   [        X5      $ [         R"                  " 5        n[$        R&                  R)                  X±S-   5      n[+        US5       nUR-                  U 5        S S S 5        [/        XX²=(       d    / U=(       d    / U=(       d    / U=(       d    / 5      n[+        US5       nUR1                  UR3                  5       U U 3SS	9n	S S S 5        S S S 5        [        X5      $ ! [        [        4 a3    [        R                  " [        5      n
U
R                  SU S35         GNf = f! , (       d  f       NÒ= f! , (       d  f       Nx= f! , (       d  f       N�= f)
Nzutf-8r
   z$Triton cache error: compiled module z.so could not be loadedz.cÚwÚrbT)Úbinary)ÚhashlibÚsha256rE   ÚencodeÚ	hexdigestr   r   r   Úget_filerO   r!   ÚImportErrorÚloggingÚ	getLoggerÚ__name__ÚwarningÚtempfileÚTemporaryDirectoryr   r   r   ÚopenÚwriter8   ÚputÚread)r*   r   r,   r-   r.   r/   ÚkeyÚcacher   Ú
cache_pathÚlogÚtmpdirÚsrc_pathÚfr0   s                  r7   Úcompile_module_from_srcrk   J   s€  € ô �.Š.˜#¤£Ñ.×6Ñ6°wÓ?Ó
@×
JÑ
JÓ
L€CÜ˜cÓ"€EÜ×%Ò% lÓ3€FØ—‘ 4 &¨¨Ð 1Ó2€JàÑð	^Ü)¨$Ó;Ð;ô
 
×	$Ò	$Ô	&¨&Ü—7‘7—<‘< ¨t©Ó4ˆÜ�(˜CÔ  AØ�G‰G�CŒL÷ !ä�D F×,>¸BÀ×@RÐPRÐT]×TcÐacÐel×erÐprÓsˆÜ�"�dŒ^˜qØŸ™ 1§6¡6£8°¨v°f°XÐ->Àt˜ÐLˆJ÷ ÷ 
'ô " $Ó3Ð3øô œkÐ*ó 	^Ü×#Ò#¤HÓ-ˆCØ�K‰KÐ>¸t¸fÐD[Ð\×]ð	^ú÷ !Õ ú÷ �^ú÷ 
'Õ	&úsO   Á9
E  Â/GÃF&ÃAGÄ!$F7ÅGÅ ?F#Æ"F#Æ&
F4	Æ0GÆ7
G	ÇGÇ
G)r   Ústrr*   rl   r+   rl   r,   ú	list[str]r-   rm   r.   rm   r/   rm   Úreturnrl   )r5   rl   rn   rl   )rn   rl   )r   rl   r   rl   rn   r   )NNNN)r*   rl   r   rl   r,   úlist[str] | Noner-   ro   r.   ro   r/   ro   rn   r   )Ú
__future__r   Ú	functoolsrT   Úimportlib.utilrG   rZ   r   r   r'   r   r^   r:   Útypesr   re   r   Ú r   r8   r%   Ú	lru_cacherE   rO   rk   © r=   r7   Ú<module>rw      s›   ðÝ "ã Û Û Û Û 	Û Û Û Û Û 	å å $Ý ðØðØ"%ôô@ð ×Ñó<ó ð<ô
ð SWØaeØ8<ð4Ø*:ð4ØN^ð4à%5ð4àAKö4r=   