
    9i9                     ,   S SK r S SKrS SKJr  \ R                  S\4S j5       r\ R                  SS\\\4   S\\\4   4S jj5       r	\ R                  S\4S j5       r
\ R                  S\4S j5       r\ R                  S\4S	 j5       r\ R                  S\4S
 j5       r\ R                  S\4S j5       r\ R                  " S5      S\4S j5       r\ R                  S\4S j5       r\ R                  S\4S j5       r\ R                  S\4S j5       rg)    N)Anyreturnc                  .     SS K n g! [         a     gf = f)Nr   TF)tritonImportError)r   s    S/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/torch/utils/_triton.pyhas_triton_packager	      s     s    
fallbackc                      SS K n[        S UR                  R                  S5      S S  5       5      u  p#X#4$ ! [         a    U s $ f = f)Nr   c              3   8   #    U  H  n[        U5      v   M     g 7fN)int).0vs     r   	<genexpr>%get_triton_version.<locals>.<genexpr>   s     O-NSVV-Ns   .   )r   tuple__version__splitr   )r
   r   majorminors       r   get_triton_versionr      sP    OV-?-?-E-Ec-J2A-NOO~ s   69 AAc                      SS K n U R                  R                  5       =(       a?    U R                  R                  5       S:  =(       a    U R                  R
                  (       + $ )Nr   	   r   )torchcudais_availableget_device_capabilityversionhip)r   s    r   _device_supports_tmar$      sK     	

! 	"JJ,,.&8	"!!!    c                  t    [        5       (       a  [        5       (       a
   SSKJn Jn  gg! [
         a     gf = f)Nr   create_1d_tma_descriptorcreate_2d_tma_descriptorTF)r	   r$   $triton.tools.experimental_descriptorr(   r)   r   r'   s     r    has_triton_experimental_host_tmar+   &   s?    !!
    s   * 
77c                  p    [        5       (       a  [        5       (       a   SSKJn   gg! [         a     gf = f)Nr   TensorDescriptorTF)r	   r$   triton.tools.tensor_descriptorr.   r   r-   s    r   %has_triton_tensor_descriptor_host_tmar0   7   s?    !!    s   ( 
55c                  8    [        5       =(       d
    [        5       $ r   )r0   r+    r%   r   has_triton_tmar3   G   s    02X6V6XXr%   c                  |   [        5       (       a  SS Kn U R                  R                  5       (       a9  U R                  R	                  5       S:  a  U R
                  R                  (       a  U R                  R                  5       (       a
   SSKJ	nJ
n  gg! [         a     Of = f SSKJn  g! [         a     gf = f)Nr   r   )&experimental_device_tensormap_create1d&experimental_device_tensormap_create2dTmake_tensor_descriptorF)r	   r   r   r    r!   r"   r#   xputriton.language.extra.cudar5   r6   r   triton.languager8   )r   r5   r6   r8   s       r   has_triton_tma_devicer<   L   s     JJ##%%

002f<MM%%YY##%%
    B s$   B 
B#"B#'B. .
B;:B;c                  H   [        5       (       a  SS Kn U R                  R                  5       (       a9  U R                  R	                  5       S:  a  U R
                  R                  (       a  U R                  R                  5       (       a   SSKJ	n  gg! [         a     gf = f)Nr   r   r7   TF)r	   r   r   r    r!   r"   r#   r9   r;   r8   r   )r   r8   s     r   has_triton_stable_tma_apir>   l   s     JJ##%%

002f<MM%%YY##%%B   s   B 
B! B!c                     ^^ [        5       (       d  gSSKJm  S[        S[        4S jn S[        S[        4S jnS[        S[        4S jnU UUUS	.mS[        4UU4S
 jjnU" 5       $ )NFr   )get_interface_for_devicedevice_interfacer   c                 P    U R                   R                  5       R                  S:  $ )N   )Workerget_device_propertiesr   rA   s    r   cuda_extra_check$has_triton.<locals>.cuda_extra_check   s"    &&<<>DDIIr%   c                 <    SS K nSUR                  R                  ;   $ )Nr   cpu)triton.backendsbackends)rA   r   s     r   cpu_extra_check#has_triton.<locals>.cpu_extra_check   s    0000r%   c                     g)NTr2   rF   s    r   _return_true has_triton.<locals>._return_true   s    r%   )r   r9   rJ   mtiac                     > TR                  5        H3  u  pT" U 5      nUR                  5       (       d  M$  U" U5      (       d  M3    g   g)NTF)itemsr    )deviceextra_checkrA   r@   triton_supported_devicess      r    is_device_compatible_with_triton4has_triton.<locals>.is_device_compatible_with_triton   sG    #;#A#A#CF7?,,..;?O3P3P $D r%   )r	   torch._dynamo.device_interfacer@   r   bool)rG   rM   rP   rX   r@   rW   s       @@r   
has_tritonr\      s    GJ3 J4 J1# 1$ 1
s t  !	 d   ,--r%   c                  ^    SSK Jn   SSKJn  UR                  R                  5       nU " U5      $ )Nr   )make_backend)driver)triton.compiler.compilerr^   triton.runtime.driverr_   activeget_current_target)r^   r_   targets      r   triton_backendre      s%    5,]]--/Fr%   c                      SSK Jn   [        5       nU " 5        SUR                  5        3n[        R
                  " UR                  S5      5      R                  5       R                  5       $ )Nr   )
triton_key-zutf-8)	%torch._inductor.runtime.triton_compatrg   re   hashhashlibsha256encode	hexdigestupper)rg   backendkeys      r   triton_hash_with_backendrr      sR    @G\N!GLLN+
,C >>#**W-.88:@@BBr%   ))r   r   )	functoolsrk   typingr   cacher[   r	   r   r   r   r$   r+   r0   r3   r<   	lru_cacher>   r\   re   strrr   r2   r%   r   <module>rx      s      D   sCx eCHo   d   $    t   Y Y Y t  > T4  $ .D . .D       C# C Cr%   