
    3j                     8    S SK r S SKrS SKJrJr  SS jrSS jrg)    N)driverruntimec                 t   [         R                  S:w  a  gSS KJs  Jn  [        [        U SU 5      5      n[        R                  " S5      u  nU[        R                  R                  :w  a  g[        R                  " SU5      u  p4U[        R                  R                  :w  a  gUR                  SS5      S   R                  S5      nUR                  5          UR                  U5      nUR!                  U5      u  pgXaR"                  R$                  :H  UR'                  5         $ ! UR'                  5         f = f)	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           ]/home/wildlama/miniconda3/lib/python3.13/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% %D7c                 z   Ub  [        U[        5      (       d  UnS nU [        R                  R                  [
        R                  R                  4;   =(       d    S[        U 5      ;   nU(       d  g  [        U5      nU(       d  g U(       a  U S3OSn[        R                  " U S35        g ! [         a     g f = f)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   2B- -
B:9B:)r   )Nr   )r   r0   cuda.bindingsr   r   r&   r7        r%   <module>r;      s      ),^r:   