
    JTh4                     P   S SK r S SKr\ R                  " S5      S\4S j5       r\ R                  " S5      S 5       r\ R                  " S5      S 5       r\ R                  " S5      S\4S j5       r\ R                  " S5      S 5       r\ R                  " S5      S 5       r	S	 r
S
 rg)    Nreturnc                  N     SSK Jn   U S L$ ! [         a     g[         a     gf = f)Nr   
triton_keyF)triton.compiler.compilerr   ImportErrorRuntimeErrorr   s    K/var/www/auris/envauris/lib/python3.13/site-packages/torch/utils/_triton.pyhas_triton_packager      s2    7%%  s   	 
$	$$c                     [        5       (       af  SS Kn U R                  R                  5       (       aC  U R                  R	                  5       S:  a%  U R
                  R                  (       d
   SSKJnJ	n  gg! [         a     gf = f)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      p     JJ##%%

002f<MM%%
       -A7 7
BBc                     [        5       (       af  SS Kn U R                  R                  5       (       aC  U R                  R	                  5       S:  a%  U R
                  R                  (       d
   SSKJnJ	n  gg! [         a     gf = f)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                  l   ^^ [        5       (       d  gSSKJm  S n S nS nU UUS.mUU4S jnU" 5       $ )	NFr   )get_interface_for_devicec                 P    U R                   R                  5       R                  S:  $ )N   )Workerget_device_propertiesmajordevice_interfaces    r
   cuda_extra_check$has_triton.<locals>.cuda_extra_checkG   s"    &&<<>DDII    c                 <    SS K nSUR                  R                  ;   $ )Nr   cpu)triton.backendsbackends)r(   tritons     r
   cpu_extra_check#has_triton.<locals>.cpu_extra_checkJ   s    0000r+   c                     g)NT r'   s    r
   _return_true has_triton.<locals>._return_trueO   s    r+   )r   xpur-   c                     > 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_checkr(   r!   triton_supported_devicess      r
    is_device_compatible_with_triton4has_triton.<locals>.is_device_compatible_with_tritonX   sG    #;#A#A#CF7?,,..;?O3P3P $D r+   )r   torch._dynamo.device_interfacer!   )r)   r1   r5   r=   r!   r<   s       @@r
   
has_tritonr@   @   sE    GJ1
 !  ,--r+   c                  ^    SSK Jn   SSKJn  UR                  R                  5       nU " U5      $ )Nr   )make_backend)driver)r   rB   triton.runtime.driverrC   activeget_current_target)rB   rC   targets      r
   triton_backendrH   b   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   r   -zutf-8)	r   r   rH   hashhashlibsha256encode	hexdigestupper)r   backendkeys      r
   triton_hash_with_backendrS   k   sR    3G\N!GLLN+
,C >>#**W-.88:@@BBr+   c                     U R                   R                  S5      (       a  SU R                   SS  -   nSU-   $ U R                   R                  S5      (       a  SU R                   SS  -   nSU-   $ U R                   nSU-   $ )Nfpfloat   bfbfloatztriton.language.)name
startswith)dtypesuffixs     r
   dtype_to_stringr^   v   s    zzT""5::ab>)
 &&	 
		t	$	$EJJqrN* && &&r+   c                  D    SS K n S U R                  R                  l        g )Nr   c                     [        U 5      $ )N)r^   )selfs    r
   <lambda>)patch_triton_dtype_repr.<locals>.<lambda>   s	    /$2Gr+   )r0   languager\   __repr__)r0   s    r
   patch_triton_dtype_reprrf      s     &HFOO"r+   )	functoolsrL   	lru_cacheboolr   r   r   r@   rH   rS   r^   rf   r4   r+   r
   <module>rj      s      TD   T , T , T.D . .B T    TC C'Hr+   