Ë
    »Ó^jÚ
  ã                   ó†   — d dl mZ d dlmZ d dlZd dlmZ d dlmZ	 ed„ «       Z
ededej                  ez  dz  fd	„«       Zy)
é    )Úcontextmanager)ÚcacheN)Únvml)ÚFunctionNotFoundErrorc                  ó,  — t        j                  «        	 t        j                  «        	 t        j                  «        y# t         j                  t         j
                  f$ r Y t        j                  «        yw xY w# t        j                  «        w xY w)zÆ
    Tries to call the simplest NVML API possible to see if just the basics
    works.  If not we are probably on one of the platforms where NVML is not
    supported at all (e.g. Jetson Orin).
    TF)r   Úinit_v2Úsystem_get_driver_branchÚshutdownÚNotSupportedErrorÚUnknownError© ó    úq/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/cuda/bindings/_test_helpers/arch_check.pyÚhardware_supports_nvmlr      sh   € ô 	‡L�L„NðÜ×%Ñ%Ô'ð ä�‰�øô ×"Ñ"¤D×$5Ñ$5Ð6ò Øô 	�‰�ðûô
 	�‰�ús#   –A  Á #A:Á#A= Á9A:Á:A= Á=BÚdeviceÚexpected_device_archc           	   #   óì  K  — t        j                  | «      }t        |t         j                  «      rt	        |«      }n
|dk(  rd}nd}|�"|dk(  s|t         j                  j
                  k(  r	 d –— y t	        |«      |k  rit        j                  t         j                  «      5  d –— d d d «       t        j                  d|j                  › d	t        j                  | «      › �«       y d –— y # t         j                  t         j                  t        f$ rO t        j                  dt        j                  |«      j                  › dt        j                  | «      › d�«       Y y w xY w# 1 sw Y   ŒÁxY w­w)
NÚFERMIé   r   ÚHAS_INFOROMz)Unsupported call for device architecture z on device 'ú'zUnsupported before z, got )r   Údevice_get_architectureÚ
isinstanceÚ
DeviceArchÚintÚUNKNOWNr   r   ÚNvmlSymbolNotFoundErrorÚpytestÚskipÚnameÚdevice_get_nameÚraises)r   r   Údevice_archÚexpected_device_arch_ints       r   Úunsupported_beforer%       sG  è ø€ ä×.Ñ.¨vÓ6€KäÐ&¬¯©Ô8Ü#&Ð';Ó#<Ñ Ø	 Ò	(Ø#$Ñ à#$Ð àÐ#Ð';¸}Ò'LÐP[Ô_c×_nÑ_n×_vÑ_vÒPvð		Üô 
ˆ[Ó	Ð4Ò	4ä�]‰]œ4×1Ñ1Ó2ñ 	Û÷	ô 	�‰Ð)Ð*>×*CÑ*CÐ)DÀFÌ4×K_ÑK_Ð`fÓKgÐJhÐiÕjô 	øô# ×&Ñ&¬×(BÑ(BÔD[Ð\ò 	ô �K‰KØ;¼D¿O¹OÈKÓ<X×<]Ñ<]Ð;^ð _Ü"×2Ñ2°6Ó:Ð;¸1ð>öð		ú÷	ð 	üsD   ‚A*E4Á-C. Á12E4Â#E(Â(AE4Ã.A4E%Å"E4Å$E%Å%E4Å(E1Å-E4)Ú
contextlibr   Ú	functoolsr   r   Úcuda.bindingsr   Úcuda.bindings._internal.utilsr   r   r   r   r   Ústrr%   r   r   r   ú<module>r+      s[   ðõ
 &Ý ã å Ý Zð ñó ðð" ð%˜sð %¸$¿/¹/ÈCÑ:OÐRVÑ:Vò %ó ñ%r   