Ë
    Q/æjÓ  ã                   óì   — d dl Z d dlZ e j                  d«      defd„«       Z e j                  d«      defd„«       Z e j                  d«      d„ «       Z e j                  d«      d„ «       Zd„ Zd„ Z	y)	é    NÚreturnc                  óJ   — 	 ddl m}  | d uS # t        $ r Y yt        $ r Y yw xY w)Nr   ©Ú
triton_keyF)Útriton.compiler.compilerr   ÚImportErrorÚRuntimeErrorr   s    úV/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/utils/_triton.pyÚhas_triton_packager      s2   € ðÝ7à Ð%Ð%øÜò ÙÜò Ùðús   ‚	 Œ	"—"¡"c                  óZ   ‡‡— ddl mŠ d„ } d„ }| |dœŠˆˆfd„} |«       xr
 t        «       S )Nr   )Úget_interface_for_devicec                 óP   — | j                   j                  «       j                  dk\  S )Né   )ÚWorkerÚget_device_propertiesÚmajor©Údevice_interfaces    r
   Úcuda_extra_checkz$has_triton.<locals>.cuda_extra_check   s"   € Ø×&Ñ&×<Ñ<Ó>×DÑDÈÑIÐIó    c                  ó   — y)NT© r   s    r
   Ú_return_truez has_triton.<locals>._return_true   s   € Ør   )ÚcudaÚxpuc                  ó|   •— ‰j                  «       D ](  \  } } ‰| «      }|j                  «       sŒ ||«      sŒ( y y)NTF)ÚitemsÚis_available)ÚdeviceÚextra_checkr   r   Útriton_supported_devicess      €€r
   Ú is_device_compatible_with_tritonz4has_triton.<locals>.is_device_compatible_with_triton   sG   ø€ Ø#;×#AÑ#AÓ#Cò 	ÑˆF�KÙ7¸Ó?ÐØ×,Ñ,Õ.±;Ð?OÕ3PÙð	ð r   )Útorch._dynamo.device_interfacer   r   )r   r   r"   r   r!   s      @@r
   Ú
has_tritonr$      s7   ù€ åGòJòð )9ÀÑNÐõñ ,Ó-ÒFÔ2DÓ2FÐFr   c                  ó^   — ddl m}  ddlm} |j                  j                  «       } | |«      S )Nr   )Úmake_backend)Údriver)r   r&   Útriton.runtime.driverr'   ÚactiveÚget_current_target)r&   r'   Útargets      r
   Útriton_backendr,   (   s%   € å5Ý,à�]‰]×-Ñ-Ó/€FÙ˜ÓÐr   c                  óÖ   — ddl m}  t        «       } | «       › d|j                  «       › �}t	        j
                  |j                  d«      «      j                  «       j                  «       S )Nr   r   ú-zutf-8)	r   r   r,   ÚhashÚhashlibÚsha256ÚencodeÚ	hexdigestÚupper)r   ÚbackendÚkeys      r
   Útriton_hash_with_backendr7   1   sR   € å3äÓ€GÙ‹\ˆN˜!˜GŸL™L›NÐ+Ð
,€Cô �>‰>˜#Ÿ*™* WÓ-Ó.×8Ñ8Ó:×@Ñ@ÓBÐBr   c                 óì   — | j                   j                  d«      rd| j                   dd  z   }d|z   S | j                   j                  d«      rd| j                   dd  z   }d|z   S | j                   }d|z   S )NÚfpÚfloaté   ÚbfÚbfloatztriton.language.)ÚnameÚ
startswith)ÚdtypeÚsuffixs     r
   Údtype_to_stringrB   <   s€   € Ø‡z�z×Ñ˜TÔ"Ø˜5Ÿ:™: a b˜>Ñ)ˆð
  Ñ&Ð&ð	 
�‰×	Ñ	˜tÔ	$Ø˜EŸJ™J q r˜NÑ*ˆð  Ñ&Ð&ð —‘ˆØ Ñ&Ð&r   c                  óD   — dd l } d„ | j                  j                  _        y )Nr   c                 ó   — t        | «      S )N)rB   )Úselfs    r
   ú<lambda>z)patch_triton_dtype_repr.<locals>.<lambda>M   s   € ´/À$Ó2G€ r   )ÚtritonÚlanguager@   Ú__repr__)rG   s    r
   Úpatch_triton_dtype_reprrJ   F   s   € Ûñ &H€F‡O�O×ÑÕ"r   )
Ú	functoolsr0   Ú	lru_cacheÚboolr   r$   r,   r7   rB   rJ   r   r   r
   ú<module>rN      s­   ðã Û ð €×Ñ�TÓð˜Dò ó ðð €×Ñ�TÓðG�Dò Gó ðGð* €×Ñ�TÓñ ó ð ð €×Ñ�TÓñCó ðCò'óHr   