
    sh                        S SK r S SKrS SKJr  S SKJr  S SKJrJrJ	r	  S SK
Jr  S r\R                  (       a  SrOSr " S	 S
\R                  5      r " S S\R                  \5      r\S:X  a  \R&                  " 5         gg)    N)config)runtime)unittestSerialMixinskip_on_cudasim)patchc                      SSK Jn  SS KnSUR                  S'   U R	                  [        UR                  R                  5      5        g !   U R	                  S5         g = f)Nr   cuda0CUDA_VISIBLE_DEVICES)numbar   osenvironputlengpuslst)qr   r   s      y/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudadrv/test_runtime.pyset_visible_devices_and_checkr   	   sG    -0

)*	c$))-- !	b	s   AA
 
A))r   r   ))   r   )r      )r      )r      )r      )r      )r      )r      c                   <    \ rS rSrS r\" S5      S 5       rS rSrg)TestRuntime   c                     [          HJ  n[        R                  " [        SUS9   U R	                  [        R
                  " 5       5        S S S 5        ML     g ! , (       d  f       M^  = f)Nget_versionreturn_value)SUPPORTED_VERSIONSr   objectr   
assertTrueis_supported_versionselfvs     r   test_is_supported_version_true*TestRuntime.test_is_supported_version_true   sA    #Ag}1E < < >? FE $EEs   %A
A%	z2The simulator always simulates a supported runtimec                     S HJ  n[         R                  " [        SUS9   U R                  [        R                  " 5       5        S S S 5        ML     g ! , (       d  f       M^  = f)N))
   r   )r      )   r   r%   r&   )r   r)   r   assertFalser+   r,   s     r   test_is_supported_version_false+TestRuntime.test_is_supported_version_false"   sE     -Ag}1E  !=!=!?@ FE -EEs   %A
A!	c                 L    U R                  [        [        R                  5        g )N)assertEqualr(   r   supported_versions)r-   s    r   test_supported_versions#TestRuntime.test_supported_versions*   s    +W-G-GH     N)	__name__
__module____qualname____firstlineno__r/   r   r6   r;   __static_attributes__r>   r=   r   r"   r"      s+    @
 IJA KAIr=   r"   c                       \ rS rSrS rSrg)TestVisibleDevices.   c                 2   SSK Jn  [        UR                  R                  5      S;   a  U R                  S5        [        R                  R                  S5      (       a  SnU R                  U5        [        R                  " S5      nUR                  5       nUR                  [        U4S9nUR                  5          UR                  5       nUR                  5         S	nU R!                  US
US9  U R#                  US5        g ! UR                  5         f = f)Nr   r
   )r   r   z This test requires multiple GPUsr   z1Cannot test when CUDA_VISIBLE_DEVICES already setspawn)targetargsz+Error running set_visible_devices_and_checkr   )msgr   )r   r   r   r   r   skipTestr   r   getmultiprocessingget_contextQueueProcessr   startjoinassertNotEqualr9   )r-   r   rK   ctxr   pvisible_gpu_counts          r   %test_visible_devices_set_after_import8TestVisibleDevices.test_visible_devices_set_after_import/   s     	tyy}}'MM<=::>>011ECMM#))'2IIKKK<A4KH			 !FFH <-rs; 	*A. FFHs   >D Dr>   N)r?   r@   rA   rB   rX   rC   r>   r=   r   rE   rE   .   s    "/r=   rE   __main__)rN   r   
numba.corer   numba.cuda.cudadrv.runtimer   numba.cuda.testingr   r   r   unittest.mockr   r   ENABLE_CUDASIMr(   TestCaser"   rE   r?   mainr>   r=   r   <module>rb      sy     	  . E E 	 
",I(## I$#/**K #/L zMMO r=   