§
    Ë²Åj»  ã                   óZ  — d dl Z d dlZ e j        d¦  «        defd„¦   «         Z e j        d¦  «        d„ ¦   «         Z e j        d¦  «        d„ ¦   «         Z e j        d¦  «        defd„¦   «         Z e j        d¦  «        d„ ¦   «         Z e j        d¦  «        d„ ¦   «         Z	d	„ Z
d
„ ZdS )é    NÚreturnc                  óR   — 	 ddl m}  | d uS # t          $ r Y dS t          $ r Y dS w xY w)Nr   ©Ú
triton_keyF)Útriton.compiler.compilerr   ÚImportErrorÚRuntimeErrorr   s    úDC:\Projects\Historical\venv\Lib\site-packages\torch/utils/_triton.pyÚhas_triton_packager      s_   € ðØ7Ð7Ð7Ð7Ð7Ð7à Ð%Ð%øÝð ð ð ØˆuˆuÝð ð ð Øˆuˆuðøøøs   ‚	 Œ
&™	&¥&c                  óä   — t          ¦   «         radd l} | j                             ¦   «         rD| j                             ¦   «         dk    r'| j        j        s	 ddlm}m	} dS # t          $ r Y nw xY wdS )Nr   ©é	   r   )Úcreate_1d_tma_descriptorÚcreate_2d_tma_descriptorTF)r   ÚtorchÚcudaÚis_availableÚget_device_capabilityÚversionÚhipÚ$triton.tools.experimental_descriptorr   r   r   )r   r   r   s      r
   Úhas_triton_tmar      ó²   € åÑÔð Øˆˆˆð ŒJ×#Ò#Ñ%Ô%ð	à”
×0Ò0Ñ2Ô2°fÒ<Ð<Ø”MÔ%ð =ððð ð ð ð ð ð ð ð
 �tøÝð ð ð Ø�ðøøøð ˆ5ó   ÁA  Á 
A-Á,A-c                  óä   — t          ¦   «         radd l} | j                             ¦   «         rD| j                             ¦   «         dk    r'| j        j        s	 ddlm}m	} dS # t          $ r Y nw xY wdS )Nr   r   )Ú&experimental_device_tensormap_create1dÚ&experimental_device_tensormap_create2dTF)r   r   r   r   r   r   r   Útriton.language.extra.cudar   r   r   )r   r   r   s      r
   Úhas_triton_tma_devicer   )   r   r   c                  óp   ‡‡— t          ¦   «         sdS ddlmŠ d„ } d„ }d„ }| ||dœŠˆˆfd„} |¦   «         S )	NFr   )Úget_interface_for_devicec                 óF   — | j                              ¦   «         j        dk    S )Né   )ÚWorkerÚget_device_propertiesÚmajor©Údevice_interfaces    r
   Úcuda_extra_checkz$has_triton.<locals>.cuda_extra_checkG   s   € ØÔ&×<Ò<Ñ>Ô>ÔDÈÒIÐIó    c                 ó&   — dd l }d|j        j        v S )Nr   Úcpu)Útriton.backendsÚbackends)r(   Útritons     r
   Úcpu_extra_checkz#has_triton.<locals>.cpu_extra_checkJ   s   € ØÐÐÐà˜œÔ0Ð0Ð0r*   c                 ó   — dS )NT© r'   s    r
   Ú_return_truez has_triton.<locals>._return_trueO   s   € Øˆtr*   )r   Úxpur,   c                  ó–   •— ‰                      ¦   «         D ]2\  } } ‰| ¦  «        }|                     ¦   «         r ||¦  «        r dS Œ3dS )NTF)Úitemsr   )ÚdeviceÚextra_checkr(   r!   Útriton_supported_devicess      €€r
   Ú is_device_compatible_with_tritonz4has_triton.<locals>.is_device_compatible_with_tritonX   sg   ø€ Ø#;×#AÒ#AÑ#CÔ#Cð 	ð 	ÑˆF�KØ7Ð7¸Ñ?Ô?ÐØ×,Ò,Ñ.Ô.ð °;°;Ð?OÑ3PÔ3Pð Ø�t�tøØˆur*   )r   Útorch._dynamo.device_interfacer!   )r)   r0   r3   r:   r!   r9   s       @@r
   Ú
has_tritonr<   @   s    øø€ åÑÔð ØˆuàGÐGÐGÐGÐGÐGðJð Jð Jð1ð 1ð 1ð
ð ð ð !ØØð ð  Ððð ð ð ð ð ð ,Ð+Ñ-Ô-Ð-r*   c                  ób   — ddl m}  ddlm} |j                             ¦   «         } | |¦  «        S )Nr   )Úmake_backend)Údriver)r   r>   Útriton.runtime.driverr?   ÚactiveÚget_current_target)r>   r?   Útargets      r
   Útriton_backendrD   b   sI   € à5Ð5Ð5Ð5Ð5Ð5Ø,Ð,Ð,Ð,Ð,Ð,àŒ]×-Ò-Ñ/Ô/€FØˆ<˜ÑÔÐr*   c                  ó  — ddl m}  t          ¦   «         } | ¦   «         › d|                     ¦   «         › �}t	          j        |                     d¦  «        ¦  «                             ¦   «                              ¦   «         S )Nr   r   ú-zutf-8)	r   r   rD   ÚhashÚhashlibÚsha256ÚencodeÚ	hexdigestÚupper)r   ÚbackendÚkeys      r
   Útriton_hash_with_backendrO   k   sv   € à3Ð3Ð3Ð3Ð3Ð3åÑÔ€GØˆZ‰\Œ\Ð
,Ð
,˜GŸLšL™NœNÐ
,Ð
,€Cõ Œ>˜#Ÿ*š* WÑ-Ô-Ñ.Ô.×8Ò8Ñ:Ô:×@Ò@ÑBÔBÐBr*   c                 óÎ   — | j                              d¦  «        rd| j         dd …         z   }n4| j                              d¦  «        rd| j         dd …         z   }n| j         }d|z   S )NÚfpÚfloaté   ÚbfÚbfloatztriton.language.)ÚnameÚ
startswith)ÚdtypeÚsuffixs     r
   Údtype_to_stringrZ   v   sp   € Ø„z×Ò˜TÑ"Ô"ð Ø˜5œ: a b bœ>Ñ)ˆˆØ	Œ×	Ò	˜tÑ	$Ô	$ð Ø˜EœJ q r rœNÑ*ˆˆà”ˆØ Ñ&Ð&r*   c                  ó2   — dd l } d„ | j        j        _        d S )Nr   c                 ó    — t          | ¦  «        S )N)rZ   )Úselfs    r
   ú<lambda>z)patch_triton_dtype_repr.<locals>.<lambda>‡   s   € µ/À$Ñ2GÔ2G€ r*   )r/   ÚlanguagerX   Ú__repr__)r/   s    r
   Úpatch_triton_dtype_reprra   €   s$   € Ø€M€M€Mð &HÐ%G€F„OÔÔ"Ð"Ð"r*   )Ú	functoolsrH   Ú	lru_cacheÚboolr   r   r   r<   rD   rO   rZ   ra   r2   r*   r
   ú<module>re      sY  ðà Ð Ð Ð Ø €€€ð €Ô�TÑÔð˜Dð ð ð ñ Ôðð €Ô�TÑÔðð ñ Ôðð, €Ô�TÑÔðð ñ Ôðð, €Ô�TÑÔð.�Dð .ð .ð .ñ Ôð.ðB €Ô�TÑÔð ð  ñ Ôð ð €Ô�TÑÔðCð Cñ ÔðCð'ð 'ð 'ðHð Hð Hð Hð Hr*   