§
    qŠtj¦  ã                   ó6   — d dl Z d dlZd dlmZmZ dd„Zdd„ZdS )é    N)ÚdriverÚruntimec                 óˆ  — t           j        dk    rdS dd lmc m} t          t          | d| ¦  «        ¦  «        }t          j        d¦  «        \  }|t          j	        j
        k    rdS t          j        d|¦  «        \  }}|t          j	        j
        k    rdS |                     dd¦  «        d                              d¦  «        }|                     ¦   «          	 |                     |¦  «        }|                     |¦  «        \  }}||j        j        k    |                     ¦   «          S # |                     ¦   «          w xY w)	NÚwin32Fr   Ú	device_idé   ó    é   Úascii)ÚsysÚplatformÚcuda.bindings.nvmlÚbindingsÚnvmlÚintÚgetattrr   ÚcuInitÚCUresultÚCUDA_SUCCESSÚcuDeviceGetPCIBusIdÚsplitÚdecodeÚinit_v2Ú"device_get_handle_by_pci_bus_id_v2Údevice_get_driver_model_v2ÚDriverModelÚDRIVER_MCDMÚshutdown)Údevicer   r   ÚerrÚ
pci_bus_idÚhandleÚcurrentÚ_s           úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/cuda/bindings/_test_helpers/mempool.pyÚis_windows_mcdm_devicer&      s,  € Ý
„|�wÒÐØˆuØ%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%å•G˜F K°Ñ8Ô8Ñ9Ô9€IÝŒ]˜1ÑÔ�F€SØ
�fŒoÔ*Ò*Ð*ØˆuÝÔ0°°YÑ?Ô?�O€CˆØ
�fŒoÔ*Ò*Ð*ØˆuØ×!Ò! '¨1Ñ-Ô-¨aÔ0×7Ò7¸Ñ@Ô@€JØ‡L‚L�N„N€NðØ×8Ò8¸ÑDÔDˆØ×4Ò4°VÑ<Ô<‰
ˆ�Ø˜$Ô*Ô6Ò6à�Š‰Œˆˆøˆ�Š‰Œˆˆøøøs   Ã<D+ Ä+Ec                 ó:  — |�t          |t          ¦  «        s|}d }| t          j        j        t
          j        j        fv pdt          | ¦  «        v }|sd S 	 t          |¦  «        }n# t          $ r Y d S w xY w|sd S |r|› d�nd}t          j        |› d�¦  «         d S )NÚCUDA_ERROR_OUT_OF_MEMORYú Ú z;could not reserve VA for mempool operations on Windows MCDM)Ú
isinstanceÚstrr   r   r(   r   ÚcudaError_tÚcudaErrorMemoryAllocationr&   Ú	ExceptionÚpytestÚxfail)Ú
err_or_excÚapi_namer   Úis_oomÚis_windows_mcdmÚapi_contexts         r%   Úxfail_if_mempool_oomr7   $   sà   € ØÐ¥J¨x½Ñ$=Ô$=ÐØˆØˆàÝŒÔ0ÝÔÔ5ðð ð 7ð 
$¥s¨:¡¤Ð	6ð ð
 ð ØˆðÝ0°Ñ8Ô8ˆˆøÝð ð ð àˆˆðøøøð ð Øˆà$,Ð4�X�.�.�.�.°"€KÝ
„L�KÐ\Ð\Ð\Ñ]Ô]Ð]Ð]Ð]s   ÁA& Á&
A4Á3A4)r   )Nr   )r   r0   Úcuda.bindingsr   r   r&   r7   © ó    r%   ú<module>r;      si   ðð €
€
€
à €€€à )Ð )Ð )Ð )Ð )Ð )Ð )Ð )ðð ð ð ð,^ð ^ð ^ð ^ð ^ð ^r:   