+
    ÆÜ³j¤  ã                   óà   € ^ RI t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	t	] P                  ! RR7       ! R R4      4       tR R	 lt]! R4      R
 R l4       tR R ltR R ltR R ltR# )é    N)Ú	lru_cache)ÚOptionalT)Úfrozenc                   óH   a € ] tR t^t o ]V 3R lR l4       tV 3R ltRtV tR# )Ú	CUDASpecsc                ó    <€ V ^8„  d   QhRS[ /# ©é   Úreturn)Úbool)ÚformatÚ__classdict__s   "€ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/bitsandbytes/cuda_specs.pyÚ__annotate__ÚCUDASpecs.__annotate__   s   ø€ ÷ Nñ N™$ñ Nó    c                ód   € \         P                  P                  ;'       g    V P                  R8¬  # )é   )r   é   )ÚtorchÚversionÚhipÚhighest_compute_capability)Úselfs   &r   Úhas_immaÚCUDASpecs.has_imma   s%   € ä�}‰}× Ñ ×MÐM D×$CÑ$CÀvÑ$MÐMr   c                ój   <€ V ^8„  d   Qh/ S[ S[S[3,          ;R&   S[;R&   S[ S[S[3,          ;R&   # )r
   r   Úcuda_version_stringÚcuda_version_tuple)ÚtupleÚintÚstr)r   r   s   "€r   r   r      s:   ø‡ ‚ á %¡c©3 h¥Ñ/ñ ñ Ññ ñ ™c¡3˜h�Ñ'ò	 r   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úpropertyr   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      s"   ø‡ € ð ÷Nó ðN÷ ƒ r   r   c                ó\   € V ^8„  d   QhR\         \        \        \        3,          ,          /# r	   )Úlistr    r!   )r   s   "r   r   r      s#   € ÷ tñ t¤$¤u¬S´#¨X¥Õ"7ñ tr   c                  óp   € \        R  \        \        P                  P	                  4       4       4       4      # )c              3   óš   "  € T FA  p\         P                  P                  \         P                  P                  V4      4      x € KC  	  R # 5i)N)r   ÚcudaÚget_device_capabilityÚdevice)Ú.0Úis   & r   Ú	<genexpr>Ú+get_compute_capabilities.<locals>.<genexpr>   s3   é € ÐsÑRrÈQ”%—*‘*×2Ñ2´5·:±:×3DÑ3DÀQÓ3G×HÐHÓRrùs   ‚A	A)ÚsortedÚranger   r0   Údevice_countr#   r   r   Úget_compute_capabilitiesr:      s)   € ÜÑsÔRWÔX]×XbÑXb×XoÑXoÓXqÔRrÓsÓsÐsr   c                ó\   € V ^8„  d   QhR\         \        \        \        3,          ,          /# r	   )r   r    r!   )r   s   "r   r   r      s    € ÷ ñ ¤¬¬s´C¨x­Õ 9ñ r   c                 ó´  €  \         P                  P                  '       d   \         P                  P                  p M=\         P                  P                  '       d   \         P                  P                  p MR# V P	                  R4      p\        V4      ^8¼  d!   \        \        \        VR,          4      4      # R#   \        \        \        3 d     R# i ; i)z2Get CUDA/HIP version as a tuple of (major, minor).NÚ.:Nr
   N)r   r   r0   r   ÚsplitÚlenr    Úmapr!   ÚAttributeErrorÚ
ValueErrorÚ
IndexError)Úversion_strÚpartss     r   Úget_cuda_version_tuplerF      s•   € ðÜ�=‰=××ÐÜŸ-™-×,Ñ,‰KÜ�]‰]××ÐÜŸ-™-×+Ñ+‰Káà×!Ñ! #Ó&ˆÜˆu‹:˜Œ?ÜœœS %¨¥)Ó,Ó-Ð-ÙøÜœJ¬
Ð3ô Úðús#   ‚B= ¢:B= ÁB= Á:A B= Â=CÃCc                ó:   € V ^8„  d   QhR\         \        ,          /# r	   )r   r"   )r   s   "r   r   r   .   s   € ÷ ñ ¤¬#¥ñ r   c                 ó6   € \        4       p V f   R# V w  rV V 2# )z!Get CUDA/HIP version as a string.N)rF   )Úversion_tupleÚmajorÚminors      r   Úget_cuda_version_stringrL   .   s)   € ä*Ó,€MØÒÙØ �L€EØˆW�U�GÐÐr   c                ó:   € V ^8„  d   QhR\         \        ,          /# r	   )r   r   )r   s   "r   r   r   7   s   € ÷ ñ œ¤Õ+ñ r   c                 ó  € \         P                  P                  4       '       g   R#  \        4       p V '       g   R# \	        4       pVf   R# \        4       pVf   R# \        V R,          VVR7      #   \         d     R# i ; i)zGet CUDA/HIP specifications.N)r   r   r   éÿÿÿÿ)r   r0   Úis_availabler:   rF   rL   r   Ú	Exception)Úcompute_capabilitiesrI   Úversion_strings      r   Úget_cuda_specsrT   7   s}   € ä�:‰:×"Ñ"×$Ò$ÙðÜ7Ó9Ðß#Ùä.Ó0ˆØÒ Ùä0Ó2ˆØÒ!ÙäØ';¸BÕ'?Ø .Ø,ô
ð 	
øô
 ô Úðús"   ¨A1 ¼A1 ÁA1 ÁA1 Á1B Á?B c                ó$   € V ^8„  d   QhR\         /# r	   )r"   )r   s   "r   r   r   R   s   € ÷ ñ œ3ñ r   c                 ó@  € \         P                  ! \        4      p  \        P                  P
                  '       d�   \        P                  ! 4       R8X  d   R.pRpMR.pRp\        P                  ! VRRR7      p\        P                  ! W#P                  4      pV'       d   RVP                  ^4      ,           # R	# R	#   \         dU   pT P                  R
T 24       \        P                   P#                  4       '       d   T P%                  R4        Rp?R	# Rp?ii ; i)zGet ROCm GPU architecture.ÚWindowszhipinfo.exezgcnArchName:\s+gfx([a-zA-Z\d]+)ÚrocminfozName:\s+gfx([a-zA-Z\d]+)T)Úcapture_outputÚtextÚgfxÚunknownz(Could not detect ROCm GPU architecture: zV
ROCm GPU architecture detection failed despite ROCm being available.
                N)ÚloggingÚ	getLoggerr$   r   r   r   ÚplatformÚsystemÚ
subprocessÚrunÚreÚsearchÚstdoutÚgrouprQ   Úerrorr0   rP   Úwarning)ÚloggerÚcmdÚarch_patternÚresultÚmatchÚes         r   Úget_rocm_gpu_archro   R   sÛ   € ä×ÒœxÓ(€FðÜ�=‰=××Ðä�ŠÓ  IÔ-Ø$�o�ØA‘à!�l�Ø:�ä—^’^ C¸À4ÔHˆFÜ—I’I˜l¯M©MÓ:ˆEßØ˜uŸ{™{¨1›~Õ-Ð-á áøÜô Ø�‰Ð?À¸sÐCÔDÜ�:‰:×"Ñ"×$Ò$Ø�N‰Nðôõ
 ûðús   œB> ¼A=B> Â>DÃ	A	DÄD)ÚdataclassesÚ	functoolsr   r]   r_   rc   ra   Útypingr   r   Ú	dataclassr   r:   rF   rL   rT   ro   r#   r   r   Ú<module>rt      sq   ðÛ Ý Û Û Û 	Û Ý ã ð ×Ò˜dÔ#÷Nð Nó $ðNõtñ ˆ4ƒôó ðõ$õ÷6r   