Ë
    ÏÍ:jÈ  ã                  óÒ   — 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mZ ddlmZ ddlmZ 	 	 	 	 dd„Zej&                  dd	„«       Zdd
„Z	 	 d	 	 	 	 	 dd„Zy)é    )ÚannotationsN)Ú
ModuleTypeé   )Úget_cache_manageré   )Úknobsc                óž  — t         j                  j                  x}r || |||||«      S t        j                  d«      }t
        j                  j                  |dj                  | |¬«      «      }t
        j                  j                  d«      }	|	€=t        j                  d«      }
t        j                  d«      }|�|n|
}	|	€t        d«      ‚t        t        d«      rt        j                  «       }nt        j                   «       }|d	k(  rd
}t        j"                  |¬«      d   }t         j                  j$                  }|||g|¢z   }|	|ddddd|g}||D �cg c]  }d|› �‘Œ	 c}z  }||D �cg c]  }d|› �‘Œ	 c}z  }||D �cg c]
  }|€Œd|› �‘Œ c}z  }t'        j(                  |t&        j*                  ¬«       |S c c}w c c}w c c}w )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.Úget_default_schemeÚposix_localÚposix_prefix)ÚschemeÚincludez-O3z-sharedz-fPICz
-Wno-psabiz-oz-lz-Lz-I)Ústdout)r   ÚbuildÚimplÚ	sysconfigÚget_config_varÚosÚpathÚjoinÚformatÚenvironÚgetÚshutilÚwhichÚRuntimeErrorÚhasattrr   Ú_get_default_schemeÚ	get_pathsÚbackend_dirsÚ
subprocessÚ
check_callÚDEVNULL)r   ÚsrcÚsrcdirÚlibrary_dirsÚinclude_dirsÚ	librariesr   r   ÚsoÚccr   r   r   Úpy_include_dirÚcustom_backend_dirsÚcc_cmdÚlibÚdirs                     úi/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/triton/runtime/build.pyÚ_buildr7      s¹  € ä�{‰{×ÑÐ€tÐÙ�D˜#˜v |°\À9ÓMÐMÜ×%Ñ% lÓ3€FÜ	�‰�‰�fÐ.×5Ñ5¸4ÈÐ5ÓOÓ	P€Bä	�‰�‰˜Ó	€BØ	€zÜ—‘˜WÓ%ˆÜ�l‰l˜5Ó!ˆØ�O‰S¨ˆØˆ:ÜØwóyð yô ŒyÐ.Ô/Ü×-Ñ-Ó/‰ä×.Ñ.Ó0ˆð �ÒØˆÜ×(Ñ(°Ô7¸	ÑB€NÜŸ+™+×2Ñ2ÐØ 6¨>Ð"PÐ<OÐ"PÑP€Là�#�u˜i¨°,ÀÀbÐI€FØ
 YÖ/˜c��C�5ŠzÒ/Ñ/€FØ
 \Ö2˜c��C�5ŠzÒ2Ñ2€FØ
 \ÖE˜c°S±_��C�5ŠzÒEÑE€FÜ×Ñ˜&¬×);Ñ);Õ<Ø€Iùò	 0ùÚ2ùÚEs   ÅG Å/GÆG
ÆG
c                 ó^   — ddl m} m}m} dj	                   | «        |«       g |«       ¢«      S )Nr   ©ÚmachineÚsystemÚarchitectureú,)Úplatformr:   r;   r<   r   r9   s      r6   Úplatform_keyr?   7   s'   € ç6Ñ6Ø�8‰8‘W“Y¡£Ð:©<«>Ð:Ó;Ð;ó    c                óø   — t         j                  j                  | |«      }|r|j                  st	        d| › d|› �«      ‚t         j                  j                  |«      }|j                  j                  |«       |S )NzFailed to load newly compiled z from )Ú	importlibÚutilÚspec_from_file_locationÚloaderr"   Úmodule_from_specÚexec_module)r   r   ÚspecÚmods       r6   Ú_load_module_from_pathrJ   =   se   € Ü�>‰>×1Ñ1°$¸Ó=€DÙ�t—{’{ÜÐ;¸D¸6ÀÈÀvÐNÓOÐOÜ
�.‰.×
)Ñ
)¨$Ó
/€CØ‡K�K×Ñ˜CÔ Ø€Jr@   c           
     óf  — t        j                  | t        «       z   j                  d«      «      j	                  «       }t        |«      }t        j                  d«      }|j                  |› |› �«      }|�	 t        ||«      S t!        j"                  «       5 }
t$        j&                  j)                  |
|dz   «      }t+        |d«      5 }|j-                  | «       d d d «       t/        |||
|xs g |xs g |xs g «      }t+        |d«      5 }|j1                  |j3                  «       |› |› �d¬	«      }d d d «       d d d «       t        ||«      S # t        t        f$ r2 t        j                  t        «      }	|	j                  d|› d�«       Y �Œ	w xY w# 1 sw Y   Œ¸xY w# 1 sw Y   ŒmxY w# 1 sw Y   ŒqxY w)
Nzutf-8r
   z$Triton cache error: compiled module z.so could not be loadedz.cÚwÚrbT)Úbinary)ÚhashlibÚsha256r?   ÚencodeÚ	hexdigestr   r   r   Úget_filerJ   r"   ÚImportErrorÚloggingÚ	getLoggerÚ__name__ÚwarningÚtempfileÚTemporaryDirectoryr   r   r   ÚopenÚwriter7   ÚputÚread)r*   r   r,   r-   r.   ÚkeyÚcacher   Ú
cache_pathÚlogÚtmpdirÚsrc_pathÚfr/   s                 r6   Úcompile_module_from_srcrf   F   s�  € ä
�.‰.˜#¤£Ñ.×6Ñ6°wÓ?Ó
@×
JÑ
JÓ
L€CÜ˜cÓ"€EÜ×%Ñ% lÓ3€FØ—‘ 4 &¨¨Ð 1Ó2€JàÐð	^Ü)¨$°
Ó;Ð;ô
 
×	$Ñ	$Ó	&ð M¨&Ü—7‘7—<‘< ¨¨t©Ó4ˆÜ�(˜CÓ ð 	 AØ�G‰G�CŒL÷	ä�D˜( F¨LÒ,>¸BÀÒ@RÐPRÐT]ÒTcÐacÓdˆÜ�"�d‹^ð 	M˜qØŸ™ 1§6¡6£8°¨v°f°XÐ->Àt˜ÓLˆJ÷	M÷Mô " $¨
Ó3Ð3øô œkÐ*ò 	^Ü×#Ñ#¤HÓ-ˆCØ�K‰KÐ>¸t¸fÐD[Ð\×]ð	^ú÷	ð 	ú÷	Mð 	Mú÷Mð MúsN   Á6E Â0F'ÃFÃ0F'Ä'FÄ/F'Å=FÆFÆF	ÆF'ÆF$	Æ F'Æ'F0)r   Ústrr*   rg   r+   rg   r,   ú	list[str]r-   rh   r.   rh   Úreturnrg   )ri   rg   )r   rg   r   rg   ri   r   )NNN)r*   rg   r   rg   r,   úlist[str] | Noner-   rj   r.   rj   ri   r   )Ú
__future__r   Ú	functoolsrO   Úimportlib.utilrB   rU   r   r    r'   r   rY   Útypesr   r`   r   Ú r   r7   Ú	lru_cacher?   rJ   rf   © r@   r6   ú<module>rr      sˆ   ðÝ "ã Û Û Û Û 	Û Û Û Û å å $Ý ð!Øð!Ø$'ó!ðH ×Ñò<ó ð<ó
ð SWØaeð4Ø*:ð4ØN^ð4Øjtô4r@   