Ë
    ©š¾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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dd
„Z	 d	 	 	 	 	 dd„Zdd„Zej*                  dd„«       Zd„ Zdd„Zdd„Z	 	 	 	 	 	 	 	 d d„Z	 	 	 	 	 	 d!d„Z	 	 	 	 	 	 d"d„Z 	 	 	 d#	 	 	 	 	 	 	 d$d„Z!	 	 	 d%	 	 	 	 	 	 	 d&d„Z"	 	 	 d#	 	 	 	 	 	 	 d'd„Z#	 	 	 d%	 	 	 	 	 	 	 d(d„Z$y))é    )ÚannotationsN)ÚPath)Ú
ModuleTypeé   )Úget_cache_manageré   )Úknobsc                ó¢  — | dk(  rbt         j                  j                  d«      }|�|S t        j                  d«      }t        j                  d«      }|�|n|}|�|S t        d«      ‚| dk(  sJ ‚t         j                  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)ÚlanguageÚccr   r   ÚcxxÚclangxxÚgxxs          ú^/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/triton/runtime/build.pyÚ_find_compilerr      s×   € à�3‚Ü�Z‰Z�^‰^˜DÓ!ˆØˆ>ØˆIÜ—‘˜WÓ%ˆÜ�l‰l˜5Ó!ˆØ�O‰S¨ˆØˆ>ØˆIÜØsóuð 	uð �uÒÐÐÜ
�*‰*�.‰.˜Ó
€CØ
€Øˆ
ä�l‰l˜9Ó%€GÜ
�,‰,�uÓ
€CØ�‰# g€CØ
€Øˆ
ä
Ørótð tó    c                ót   — t        | «      j                  }|dk(  ry|dv ryt        | «       t        d| › �«      ‚)Nú.cr   >   ú.ccú.cxxú.cppr   zUnrecognized file extension: )r   ÚsuffixÚprintÚ
ValueError)Úsource_nameÚexts     r   Ú_language_from_filenamer)   2   sC   € Ü
ˆ{Ó
×
"Ñ
"€CØ
ˆd‚{ØØ
Ð%Ñ%ØÜ	ˆ+ÔÜ
Ð4°[°MÐBÓ
CÐCr   c                óð  — t         j                  j                  x}r || |||||«      S t        j                  d«      }	t
        j                  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|j                  dd«       ||D �cg c]  }t        |«      ‘Œ c}z  }||D �cg c]  }d|› �‘Œ	 c}z  }||D �cg c]
  }|€Œd|› �‘Œ c}z  }|j                  |«       t        j                   |t        j"                  ¬«       |
S c c}w c c}w c c}w )NÚ
EXT_SUFFIXÚposix_localÚposix_prefix)ÚschemeÚincludez-O3z-sharedz-fPICz
-Wno-psabiz-or   é   z
-std=c++17z-Lz-I)Ústdout)r	   ÚbuildÚimplÚ	sysconfigÚget_config_varr   ÚpathÚjoinr   Úget_default_schemeÚ	get_pathsÚbackend_dirsÚinsertÚ_library_flagÚextendÚ
subprocessÚ
check_callÚDEVNULL)ÚnameÚsrcÚsrcdirÚlibrary_dirsÚinclude_dirsÚ	librariesÚccflagsr   r3   r$   Úsor   r.   Úpy_include_dirÚcustom_backend_dirsÚcc_cmdÚlibÚdirs                     r   Ú_buildrN   <   sl  € ä�{‰{×ÑÐ€tÐÙ�D˜#˜v |°\À9ÓMÐMÜ×%Ñ% lÓ3€FÜ	�‰�‰�f   v hÐ/Ó	0€BÜ	˜Ó	!€BÜ×)Ñ)Ó+€Fð �ÒØˆÜ×(Ñ(°Ô7¸	ÑB€NÜŸ+™+×2Ñ2ÐØ 6¨>Ð"PÐ<OÐ"PÑP€Là�#�u˜i¨°,ÀÀbÐI€FØ�5ÒØ�‰�a˜Ô&Ø
¨YÖ7 cŒ}˜SÕ!Ò7Ñ7€FØ
 \Ö2˜c��C�5ŠzÒ2Ñ2€FØ
 \ÖE˜c°S±_��C�5ŠzÒEÑE€FØ
‡M�M�'ÔÜ×Ñ˜&¬×);Ñ);Õ<Ø€Iùò 8ùÚ2ùÚEs   Ã+E)ÄE.ÄE3Ä%E3c                ód   — t        j                  d| «      s| j                  d«      rd| › �S d| › �S )Nz\.so(\.\d+)*$z.az-l:z-l)ÚreÚsearchÚendswith)rL   s    r   r<   r<   W   s4   € ä	‡y�yÐ! 3Ô'¨3¯<©<¸Ô+=Ø�S�Eˆ{ÐØ�ˆuˆ:Ðr   c                 ó^   — ddl m} m}m} dj	                   | «        |«       g |«       ¢«      S )Nr   ©ÚmachineÚsystemÚarchitectureú,)ÚplatformrU   rV   rW   r7   rT   s      r   Úplatform_keyrZ   ^   s'   € ç6Ñ6Ø�8‰8‘W“Y¡£Ð:©<«>Ð:Ó;Ð;r   c                ó6   — | dk(  ry| dk(  ryt        d| › �«      ‚)Nr   r    r   r#   zUnexpected languange: )r&   ©r   s    r   Ú_get_file_extensionr]   d   s*   € Ø�3‚ØØ�5ÒØÜ
Ð-¨h¨ZÐ8Ó
9Ð9r   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)rA   r6   ÚspecÚmods       r   Ú_load_module_from_pathrg   l   se   € Ü�>‰>×1Ñ1°$¸Ó=€DÙ�t—{’{ÜÐ;¸D¸6ÀÈÀvÐNÓOÐOÜ
�.‰.×
)Ñ
)¨$Ó
/€CØ‡K�K×Ñ˜CÔ Ø€Jr   c                ó¸  — t        j                  «       }|j                  | «       |j                  t        «       j	                  d«      «       |j                  «       D ]`  \  }}|€Œ	|j                  |j	                  d«      «       |D ]3  }|j                  |j	                  d«      «       |j                  d«       Œ5 Œb |j                  «       }t        |«      S )Núutf-8ó   :)ÚhashlibÚsha256ÚupdaterZ   ÚencodeÚitemsÚ	hexdigestr   )rB   ÚconfigÚdigestÚkÚvsÚvÚkeys          r   Ú_get_cache_managerrw   u   s´   € Ü�^‰^Ó€FØ
‡M�M�#ÔØ
‡M�M”,“.×'Ñ'¨Ó0Ô1Ø—‘“ò  ‰ˆˆ2Øˆ:ØØ�‰�a—h‘h˜wÓ'Ô(Øò 	 ˆAØ�M‰M˜!Ÿ(™( 7Ó+Ô,Ø�M‰M˜$Õñ	 ð	 ð ×
Ñ
Ó
€CÜ˜SÓ!Ð!r   c	                ó„  — t        |g||||¬«      }	t        | |	¬«      }
t        j                  d«      }|
j	                  |› |› �«      }|�|s|S 	 t        ||«      S t        j                  «       5 }t        ||||xs g |xs g |xs g |xs g |¬«      }t        |d«      5 }|
j!                  |j#                  «       |› |› �d¬	«      }d d d «       d d d «       |rt        ||«      S |S # t        t        f$ r1 t        j                  t        «      }|j                  d|› d�«       Y ŒÊw xY w# 1 sw Y   ŒdxY w# 1 sw Y   ŒhxY w)
N)r   rD   rE   rF   rG   )rq   r+   z$Triton cache error: compiled module z.so could not be loadedr\   ÚrbT)Úbinary)Údictrw   r4   r5   Úget_filerg   r   ÚImportErrorÚloggingÚ	getLoggerÚ__name__ÚwarningÚtempfileÚTemporaryDirectoryrN   ÚopenÚputÚread)rB   Úsrc_pathrA   rD   rE   rF   rG   Úload_moduler   rq   Úcacher$   Ú
cache_pathÚlogÚtmpdirrH   Úfs                    r   Ú_compile_sorŽ   „   sj  € ä˜H˜:°LÈ|ÐgpØ!ô#€Fä˜s¨6Ô2€EÜ×%Ñ% lÓ3€FØ—‘ 4 &¨¨Ð 1Ó2€JØÐÙØÐð	^Ü)¨$°
Ó;Ð;ô
 
×	$Ñ	$Ó	&ð M¨&Ü�D˜( F¨LÒ,>¸BÀÒ@RÐPRÐT]ÒTcÐacÐelÒerÐprØ%ô'ˆä�"�d‹^ð 	M˜qØŸ™ 1§6¡6£8°¨v°f°XÐ->Àt˜ÓLˆJ÷	M÷Mñ 8CÔ! $¨
Ó3ÐRÈ
ÐRøô œkÐ*ò 	^Ü×#Ñ#¤HÓ-ˆCØ�K‰KÐ>¸t¸fÐD[Ð\Ö]ð	^ú÷	Mð 	Mú÷Mð Mús6   ÁC' Á00D6Â 'D*ÃD6Ã'=D'Ä&D'Ä*D3	Ä/D6Ä6D?c                ó  — t         j                  j                  | «      } t         j                  j                  | «      }t	        | d«      5 }|j                  «       }	d d d «       t        |«      }
t        	| ||||||
|¬«	      S # 1 sw Y   Œ(xY w)Nry   ©	rB   r‡   rA   rD   rE   rF   rG   r   rˆ   )r   r6   ÚabspathÚbasenamer„   r†   r)   rŽ   )r‡   rA   rD   rE   rF   rG   rˆ   Úsrc_namer�   rB   r   s              r   Ú_compile_so_from_filer”   �   s„   € ä�w‰w�‰˜xÓ(€HÜ�w‰w×Ñ Ó)€HÜ	ˆh˜Ó	ð  Ø�f‰f‹hˆ÷ô ' xÓ0€HÜ˜3¨¸È<ÐfrØ!*°GÀhÐ\gôið i÷	ð ús   ÁBÂBc                ó^  — | j                  d«      }t        j                  «       5 }	t        j                  j                  |	|› t        |«      › �«      }
t        |
d«      5 }|j                  |«       d d d «       t        ||
|||||||¬«	      cd d d «       S # 1 sw Y   Œ&xY w# 1 sw Y   y xY w)Nri   Úwbr�   )
rn   r‚   rƒ   r   r6   r7   r]   r„   ÚwriterŽ   )rB   rA   rD   rE   rF   rG   r   rˆ   Ú	src_bytesrŒ   r‡   r�   s               r   Ú_compile_so_from_srcr™   ©   s¨   € à—
‘
˜7Ó#€IÜ	×	$Ñ	$Ó	&ð 4¨&Ü—7‘7—<‘< ¨4¨&Ô1DÀXÓ1NÐ0OÐ(PÓQˆÜ�(˜DÓ!ð 	 QØ�G‰G�IÔ÷	ä˜y°8À$ÐUaØ(4À	ÐSZÐemØ'2ô4÷	4ñ 4÷	ð 	ú÷4ð 4ús#   ¦:B#Á BÁ2B#ÂB 	ÂB#Â#B,c           	     ó&   — t        | |||||d¬«      S ©NF©rˆ   ©r”   ©r‡   rA   rD   rE   rF   rG   s         r   Úcompile_so_from_filerŸ   µ   s   € ô ! ¨4°¸|ÈYÐX_ÐmrÔsÐsr   c           
     ó(   — t        | ||||||d¬«      S r›   ©r™   ©rB   rA   rD   rE   rF   rG   r   s          r   Úcompile_so_from_srcr£   »   s    € ô    T¨<¸ÀyÐRYÐ[cÐqvÔwÐwr   c           	     ó&   — t        | |||||d¬«      S ©NTrœ   r�   rž   s         r   Úcompile_module_from_filer¦   Á   s   € ô ! ¨4°¸|ÈYÐX_ÐmqÔrÐrr   c           
     ó(   — t        | ||||||d¬«      S r¥   r¡   r¢   s          r   Úcompile_module_from_srcr¨   Ç   s    € ô    T¨<¸ÀyÐRYÐ[cÐquÔvÐvr   )r   ÚstrÚreturnr©   )r'   r©   rª   r©   )r   )rA   r©   rB   r©   rC   r©   rD   ú	list[str]rE   r«   rF   r«   rG   r«   r   r©   rª   r©   )rL   r©   rª   r©   )rª   r©   )rA   r©   r6   r©   rª   r   )rB   Úbytesrq   zdict[str, list[str] | None])rB   r¬   r‡   r©   rA   r©   rD   úlist[str] | NonerE   r­   rF   r­   rG   r­   rˆ   Úboolr   r©   )r‡   r©   rA   r©   rD   r­   rE   r­   rF   r­   rG   r­   rˆ   r®   )rB   r©   rA   r©   rD   r­   rE   r­   rF   r­   rG   r­   rˆ   r®   )NNNN)r‡   r©   rA   r©   rD   r­   rE   r­   rF   r­   rG   r­   rª   r©   )NNNNr   )rB   r©   rA   r©   rD   r­   rE   r­   rF   r­   rG   r­   rª   r©   )r‡   r©   rA   r©   rD   r­   rE   r­   rF   r­   rG   r­   rª   r   )rB   r©   rA   r©   rD   r­   rE   r­   rF   r­   rG   r­   rª   r   )%Ú
__future__r   Ú	functoolsrk   Úimportlib.utilr_   r   rP   r   r>   r4   r‚   r~   Úpathlibr   Útypesr   r‰   r   Ú r	   Ú	lru_cacher   r)   rN   r<   rZ   r]   rg   rw   rŽ   r”   r™   rŸ   r£   r¦   r¨   © r   r   ú<module>r·      sí  ðÝ "ã Û Û Û 	Û 	Û Û Û Û Û Ý å å $Ý ð €×ÑÓòtó ðtó8Dð 03ðØðØ),ðØ7:óó6ð ×Ñò<ó ð<ò
:óó"ðSØ+ðSØ6FðSØUYðSØehóSð2	iØ%5ð	iØ@Pð	iØ_có	ið	4Ø$4ð	4Ø?Oð	4Øhló	4ð UYØ^bØ59ðtØ'7ðtØK[ðtà"2ðtà>Aótð OSØ]aØCFðxØ&6ðxØJZðxà!1ðxàKNóxð Y]ØbfØ9=ðsØ+;ðsØO_ðsà&6ðsàBLósð SWØaeØGJðwØ*:ðwØN^ðwà%5ðwàOYôwr   