§
    �Štj  ã                   ó`  — d dl Z d dlZd dlZd dlmZ dZdedz  fd„Zdeddfd„Z	e j
        defd„¦   «         Ze j
        dd
eeef         deeef         fd„¦   «         Ze j
        defd„¦   «         Ze j
        defd„¦   «         Ze j
        defd„¦   «         Ze j
        defd„¦   «         Ze j
        defd„¦   «         Ze j
        defd„¦   «         Z e j        d¦  «        defd„¦   «         Ze j
        defd„¦   «         Ze j
        defd„¦   «         Zdedefd„Ze j
        defd„¦   «         ZdS )é    N)ÚAnyz(failed to map segment from shared objectÚreturnc                  óž   — t           j                             d¦  «        x} r| S 	 ddlm} |j        j        S # t          t          f$ r Y d S w xY w)NÚTRITON_CACHE_DIRr   )Úknobs)	ÚosÚenvironÚgetÚtriton.runtime.cacher   ÚcacheÚdirÚAttributeErrorÚImportError)Útriton_cache_dirr   s     úQ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/torch/utils/_triton.pyÚ#_triton_cache_dir_for_error_messager   
   sm   € Ýœ:Ÿ>š>Ð*<Ñ=Ô=Ð=Ðð  ØÐðØ.Ð.Ð.Ð.Ð.Ð.àŒ{ŒÐøÝ�KÐ(ð ð ð Øˆtˆtðøøøs   ¥7 ·AÁAÚexcc                 óˆ   — t          ¦   «         }dt          j        v rd|› d�}n
|rd|› d�nd}t          | › d|› d�¦  «        | ‚)Nr   z (TRITON_CACHE_DIR=ú)z (Ú z-. This usually means Triton's cache directoryz¤ is on a filesystem mounted with noexec, so the dynamic loader cannot map generated shared objects. Set TRITON_CACHE_DIR to a directory on an executable filesystem.)r   r   r	   r   )r   Ú	cache_dirÚcache_dir_msgs      r   Ú_raise_triton_cache_load_errorr      s|   € Ý3Ñ5Ô5€IØ�RœZÐ'Ð'Ø:¨iÐ:Ð:Ð:ˆˆà-6Ð>Ð)˜YÐ)Ð)Ð)Ð)¸BˆÝ
Øð 	!ð 	!¸]ð 	!ð 	!ð 	!ñô ð
 ðó    c                  ó2   — 	 dd l } dS # t          $ r Y dS w xY w)Nr   TF)Útritonr   )r   s    r   Úhas_triton_packager   $   s7   € ðØˆˆˆàˆtøÝð ð ð Øˆuˆuðøøøs   ‚ ˆ
•©r   r   Úfallbackc                 ó°   — 	 dd l }t          d„ |j                             d¦  «        d d…         D ¦   «         ¦  «        \  }}||fS # t          $ r | cY S w xY w)Nr   c              3   ó4   K  — | ]}t          |¦  «        V — Œd S ©N)Úint)Ú.0Úvs     r   ú	<genexpr>z%get_triton_version.<locals>.<genexpr>3   s(   è è € ÐOÐO¨�S ™VœVÐOÐOÐOÐOÐOÐOr   ú.é   )r   ÚtupleÚ__version__Úsplitr   )r   r   ÚmajorÚminors       r   Úget_triton_versionr.   .   sx   € ðØˆˆˆåÐOÐO¨VÔ-?×-EÒ-EÀcÑ-JÔ-JÈ2ÈAÈ2Ô-NÐOÑOÔOÑOÔO‰ˆˆuØ�uˆ~ÐøÝð ð ð Øˆˆˆðøøøs   ‚AA ÁAÁAc                  ó�   — dd l } | j                             ¦   «         o)| j                             ¦   «         dk    o| j        j         S )Nr   ©é	   r   )ÚtorchÚcudaÚis_availableÚget_device_capabilityÚversionÚhip©r2   s    r   Ú_device_supports_tmar9   9   sN   € à€L€L€Lð 	Œ
×ÒÑ!Ô!ð 	"ØŒJ×,Ò,Ñ.Ô.°&Ò8ð	"à”Ô!Ð!ðr   c                  ó´   — t          ¦   «         rIt          ¦   «         r;	 ddlm} m} 	 ddlm}  |¦   «         S # t          $ r Y dS w xY w# t          $ r Y nw xY wdS )Nr   )Úcreate_1d_tma_descriptorÚcreate_2d_tma_descriptor)Úenable_in_pytorchTF)r   r9   Ú$triton.tools.experimental_descriptorr;   r<   r=   r   )r;   r<   r=   s      r   Ú has_triton_experimental_host_tmar?   D   sº   € åÑÔð ÝÑ!Ô!ð 	ððð ð ð ð ð ð ð ð
 ØVÐVÐVÐVÐVÐVà,Ð,Ñ.Ô.Ð.øÝ"ð  ð  ð  Ø˜4˜4ð øøøøåð ð ð Ø�ðøøøð ˆ5s,   žA §7 ·
AÁA ÁAÁA Á
AÁAc                  óp   — t          ¦   «         r't          ¦   «         r	 ddlm}  dS # t          $ r Y nw xY wdS )Nr   ©ÚTensorDescriptorTF)r   r9   Útriton.tools.tensor_descriptorrB   r   rA   s    r   Ú%has_triton_tensor_descriptor_host_tmarD   Z   so   € åÑÔð 	ÝÑ!Ô!ð 	ððð ð ð ð ð ð �tøÝð ð ð Ø�ðøøøð ˆ5s   ž& ¦
3²3c                  ó:   — t          ¦   «         pt          ¦   «         S r"   )rD   r?   © r   r   Úhas_triton_tmarG   j   s   € å0Ñ2Ô2ÐXÕ6VÑ6XÔ6XÐXr   c                  óH  — t          ¦   «         r“dd l} | j                             ¦   «         r)| j                             ¦   «         dk    r| j        j        r| j                             ¦   «         r4	 ddlm	}m
} dS # t          $ r Y nw xY w	 ddlm} dS # t          $ r Y nw xY wdS )Nr   r0   )Ú&experimental_device_tensormap_create1dÚ&experimental_device_tensormap_create2dT©Úmake_tensor_descriptorF)r   r2   r3   r4   r5   r6   r7   ÚxpuÚtriton.language.extra.cudarI   rJ   r   Útriton.languagerL   )r2   rI   rJ   rL   s       r   Úhas_triton_tma_devicerP   o   s  € åÑÔð Øˆˆˆð ŒJ×#Ò#Ñ%Ô%ð	à”
×0Ò0Ñ2Ô2°fÒ<Ð<Ø”MÔ%ð =àŒY×#Ò#Ñ%Ô%ð =ððð ð ð ð ð ð ð ð
 �tøÝð ð ð Ø�ðøøøðØBÐBÐBÐBÐBÐBà�tøÝð ð ð Ø�ðøøøð ˆ5s$   Á/A9 Á9
BÂBÂ
B Â
BÂBc                  ó  — dd l } | j                             ¦   «         rb| j                             ¦   «         dk    rE| j                             ¦   «         dk     r(| j        j        st          ¦   «         ot          ¦   «         S dS )Nr   )é
   r   )é   r   F)r2   r3   r4   r5   r6   r7   rP   rD   r8   s    r   Ú#has_datacenter_blackwell_tma_devicerT   �   s‚   € à€L€L€Lð 	Œ
×ÒÑ!Ô!ðSàŒJ×,Ò,Ñ.Ô.°'Ò9Ð9ØŒJ×,Ò,Ñ.Ô.°Ò8Ð8Ø”Ô!ð 9õ %Ñ&Ô&ÐRÕ+PÑ+RÔ+RÐRàˆ5r   c                  ó  — t          ¦   «         rxdd l} | j                             ¦   «         r)| j                             ¦   «         dk    r| j        j        r| j                             ¦   «         r	 ddlm	} dS # t          $ r Y nw xY wdS )Nr   r0   rK   TF)r   r2   r3   r4   r5   r6   r7   rM   rO   rL   r   )r2   rL   s     r   Úhas_triton_stable_tma_apirV   ž   s®   € åÑÔð Øˆˆˆð ŒJ×#Ò#Ñ%Ô%ð
	à”
×0Ò0Ñ2Ô2°fÒ<Ð<Ø”MÔ%ð =àŒY×#Ò#Ñ%Ô%ð =ðØBÐBÐBÐBÐBÐBà�tøÝð ð ð Ø�ðøøøàˆ5s   Á/A7 Á7
BÂBc                  óð   ‡‡— t          ¦   «         sdS ddlm}  | rdS ddlmŠ dt
          dt          fd„}dt
          dt          fd„}dt
          dt          fd	„}||||d
œŠdt          fˆˆfd„} |¦   «         S )NFr   )Útriton_disable_device_detection)Úget_interface_for_deviceÚdevice_interfacer   c                 óF   — | j                              ¦   «         j        dk    S )Né   )ÚWorkerÚget_device_propertiesr,   ©rZ   s    r   Úcuda_extra_checkz$has_triton.<locals>.cuda_extra_check½   s   € ØÔ&×<Ò<Ñ>Ô>ÔDÈÒIÐIr   c                 ó&   — dd l }d|j        j        v S )Nr   Úcpu)Útriton.backendsÚbackends)rZ   r   s     r   Úcpu_extra_checkz#has_triton.<locals>.cpu_extra_checkÀ   s   € ØÐÐÐà˜œÔ0Ð0Ð0r   c                 ó   — dS )NTrF   r_   s    r   Ú_return_truez has_triton.<locals>._return_trueÅ   s   € Øˆtr   )r3   rM   rb   Úmtiac                  ó–   •— ‰                      ¦   «         D ]2\  } } ‰| ¦  «        }|                     ¦   «         r ||¦  «        r dS Œ3dS )NTF)Úitemsr4   )ÚdeviceÚextra_checkrZ   rY   Útriton_supported_devicess      €€r   Ú is_device_compatible_with_tritonz4has_triton.<locals>.is_device_compatible_with_tritonÏ   sg   ø€ Ø#;×#AÒ#AÑ#CÔ#Cð 	ð 	ÑˆF�KØ7Ð7¸Ñ?Ô?ÐØ×,Ò,Ñ.Ô.ð °;°;Ð?OÑ3PÔ3Pð Ø�t�tøØˆur   )r   Útorch._inductor.configrX   Útorch._dynamo.device_interfacerY   r   Úbool)rX   r`   re   rg   rn   rY   rm   s        @@r   Ú
has_tritonrr   ±   s
  øø€ åÑÔð ØˆuàFÐFÐFÐFÐFÐFà&ð ØˆuàGÐGÐGÐGÐGÐGðJ­3ð Jµ4ð Jð Jð Jð Jð1­#ð 1µ$ð 1ð 1ð 1ð 1ð
¥sð ­tð ð ð ð ð !ØØØð	 ð  Ðð­dð ð ð ð ð ð ð ð ,Ð+Ñ-Ô-Ð-r   c                  óâ   — ddl m}  ddlm} 	 |j                             ¦   «         } | |¦  «        S # t          t          f$ r+}t          t          |¦  «        v rt          |¦  «         ‚ d }~ww xY w)Nr   )Úmake_backend)Údriver)Útriton.compiler.compilerrt   Útriton.runtime.driverru   ÚactiveÚget_current_targetr   ÚOSErrorÚ)_FAILED_TO_MAP_SEGMENT_FROM_SHARED_OBJECTÚstrr   )rt   ru   ÚtargetÚes       r   Útriton_backendr   Ù   s”   € à5Ð5Ð5Ð5Ð5Ð5Ø,Ð,Ð,Ð,Ð,Ð,ðØ”×1Ò1Ñ3Ô3ˆØˆ|˜FÑ#Ô#Ð#øÝ�Ð!ð ð ð Ý4½¸A¹¼Ð>Ð>Ý*¨1Ñ-Ô-Ð-Øøøøøðøøøs   Ž#2 ²A.Á&A)Á)A.Úbackendc           
      óÜ  — |                       i ¦  «        }t          |dd¦  «        }|sdS g }t          |¦  «        D ]œ\  }}t          j                             |¦  «        rxt          |d¦  «        5 }|                     |› dt          j	        | 
                    ¦   «         ¦  «                             ¦   «         › �¦  «         ddd¦  «         n# 1 swxY w Y   Œ�d                     |¦  «        S )z×Return a cache key fragment for extern libs (e.g. libdevice.10.bc).

    These files affect codegen but are not covered by triton_key() (Python
    sources only) or backend.hash() (ptxas version and arch only).
    Úextern_libsNr   Úrbú-)Úparse_optionsÚgetattrÚsortedr   ÚpathÚisfileÚopenÚappendÚhashlibÚsha256ÚreadÚ	hexdigestÚjoin)r€   Úoptsr‚   ÚpartsÚnamerˆ   Úfs          r   Ú_extern_libs_keyr•   ç   s/  € ð × Ò  Ñ$Ô$€DÝ˜$ ¨tÑ4Ô4€KØð ØˆrØ€EÝ˜[Ñ)Ô)ð Oð O‰
ˆˆdÝŒ7�>Š>˜$ÑÔð 	OÝ�d˜DÑ!Ô!ð O QØ—’ ÐMÐM¥w¤~°a·f²f±h´hÑ'?Ô'?×'IÒ'IÑ'KÔ'KÐMÐMÑNÔNÐNðOð Oð Oñ Oô Oð Oð Oð Oð Oð Oð Oøøøð Oð Oð Oð Oøà�8Š8�E‰?Œ?Ðs   Á0ACÃC	ÃC	c                  ó  — ddl m}  t          ¦   «         } | ¦   «         › d|                     ¦   «         › �}t	          j        |                     d¦  «        ¦  «                             ¦   «                              ¦   «         S )Nr   )Ú
triton_keyr„   zutf-8)	Ú%torch._inductor.runtime.triton_compatr—   r   ÚhashrŒ   r�   Úencoder�   Úupper)r—   r€   Úkeys      r   Útriton_hash_with_backendr�   ù   sv   € à@Ð@Ð@Ð@Ð@Ð@åÑÔ€GØˆZ‰\Œ\Ð
,Ð
,˜GŸLšL™NœNÐ
,Ð
,€Cõ Œ>˜#Ÿ*š* WÑ-Ô-Ñ.Ô.×8Ò8Ñ:Ô:×@Ò@ÑBÔBÐBr   )r   )Ú	functoolsrŒ   r   Útypingr   r{   r|   r   ÚBaseExceptionr   r   rq   r   r)   r#   r.   r9   r?   rD   rG   rP   rT   Ú	lru_cacherV   rr   r   r•   r�   rF   r   r   ú<module>r¢      sÌ  ðØ Ð Ð Ð Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð ð -WÐ )ð	¨S°4©Zð 	ð 	ð 	ð 	ð¨ð ¸$ð ð ð ð ð „ð˜Dð ð ð ñ „ðð „ðð   s¨C x¤ð ¸eÀCÈÀH¼oð ð ð ñ „ðð „ð˜dð ð ð ñ „ðð „ð¨$ð ð ð ñ „ðð* „ð¨tð ð ð ñ „ðð „ðY˜ð Yð Yð Yñ „ðYð „ð˜tð ð ð ñ „ðð> „ð¨Tð ð ð ñ „ðð €Ô�TÑÔð 4ð ð ð ñ Ôðð$ „ð$.�Dð $.ð $.ð $.ñ „ð$.ðN „ð
˜ð 
ð 
ð 
ñ „ð
ð˜cð  cð ð ð ð ð$ „ðC #ð Cð Cð Cñ „ðCð Cð Cr   