
    ^j                     4    d dl Z d dlZd dlmZmZ ddZddZy)    N)driverruntimec                 p   t         j                  dk7  rydd lmc m} t        t        | d|             }t        j                  d      \  }|t        j                  j                  k7  ryt        j                  d|      \  }}|t        j                  j                  k7  ry|j                  dd      d   j                  d      }|j                          	 |j                  |      }|j!                  |      \  }}||j"                  j$                  k(  |j'                          S # |j'                          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           n/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/cuda/bindings/_test_helpers/mempool.pyis_windows_mcdm_devicer&      s    
||w%%GFK89I]]1FS
foo***00Y?OC
foo***!!'1-a077@JLLN88D44V<
$**666s   =D# #D5c                 >   |t        |t              s|}d }| t        j                  j                  t
        j                  j                  fv xs dt        |       v }|sy 	 t        |      }|sy |r| dnd}t        j                  | d       y # t        $ r Y y w xY w)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    Jx$=0055  7 
$s:	6 
 08 $,XJa."K
LLK= [\]  s    B 	BB)r   )Nr   )r   r0   cuda.bindingsr   r   r&   r7        r%   <module>r;      s      ),^r:   