§
    1@ÄjT  ã                   óè   — d dl Z d dlZd dlmZ d dlmZ d dlmZmZm	Z	 d dl
mZ d„ Zej        rdZndZ G d	„ d
ej        ¦  «        Z G d„ dej        e¦  «        Zedk    r ej        ¦   «          dS dS )é    N)Úconfig)Úruntime)ÚunittestÚSerialMixinÚskip_on_cudasim)Úpatchc                 óÂ   — 	 ddl m} dd l}d|j        d<   |                      t          |j        j        ¦  «        ¦  «         d S #  |                      d¦  «         Y d S xY w)Nr   ©ÚcudaÚ0ÚCUDA_VISIBLE_DEVICESéÿÿÿÿ)Únumbar   ÚosÚenvironÚputÚlenÚgpusÚlst)Úqr   r   s      úVC:\Projects\Historical\venv\Lib\site-packages\numba/cuda/tests/cudadrv/test_runtime.pyÚset_visible_devices_and_checkr   	   sq   € ðØÐÐÐÐÐØˆ	ˆ	ˆ	à-0ˆŒ
Ð)Ñ*Ø	�Š�c�$”)”-Ñ Ô Ñ!Ô!Ð!Ð!Ð!øðà	�Šˆb‰	Œ	ˆ	ˆ	ˆ	ˆ	øøøs   ‚A A ÁA))r   r   ))é   r   )r   é   )r   é   )r   é   )r   é   )r   é   )r   é   )r   é   c                   óB   — e Zd Zd„ Z ed¦  «        d„ ¦   «         Zd„ ZdS )ÚTestRuntimec                 óÎ   — t           D ]\}t          j        t          d|¬¦  «        5  |                      t          j        ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ]d S )NÚget_version©Úreturn_value)ÚSUPPORTED_VERSIONSr   Úobjectr   Ú
assertTrueÚis_supported_version©ÚselfÚvs     r   Útest_is_supported_version_truez*TestRuntime.test_is_supported_version_true   s¸   € Ý#ð 	@ð 	@ˆAÝ”�g }À1ÐEÑEÔEð @ð @Ø—’¥Ô <Ñ >Ô >Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @øð	@ð 	@s   ¦'AÁA	Á A	z2The simulator always simulates a supported runtimec                 óÄ   — dD ]\}t          j        t          d|¬¦  «        5  |                      t          j        ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ]d S )N))é
   r   )r   é   )é   r   r$   r%   )r   r(   r   ÚassertFalser*   r+   s     r   Útest_is_supported_version_falsez+TestRuntime.test_is_supported_version_false"   s¼   € ð -ð 	Að 	AˆAÝ”�g }À1ÐEÑEÔEð Að AØ× Ò ¥Ô!=Ñ!?Ô!?Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aøð	Að 	As   ¡'AÁA	ÁA	c                 óP   — |                       t          t          j        ¦  «         d S )N)ÚassertEqualr'   r   Úsupported_versions)r,   s    r   Útest_supported_versionsz#TestRuntime.test_supported_versions*   s"   € Ø×ÒÕ+­WÔ-GÑHÔHÐHÐHÐHó    N)Ú__name__Ú
__module__Ú__qualname__r.   r   r4   r8   © r9   r   r"   r"      se   € € € € € ð@ð @ð @ð
 €_ÐIÑJÔJðAð Añ KÔJðAðIð Ið Ið Ið Ir9   r"   c                   ó   — e Zd Zd„ ZdS )ÚTestVisibleDevicesc                 óv  — ddl m} t          |j        j        ¦  «        dv r|                      d¦  «         t          j                             d¦  «        rd}|                      |¦  «         t          j
        d¦  «        }|                     ¦   «         }|                     t          |f¬¦  «        }|                     ¦   «          	 |                     ¦   «         }|                     ¦   «          n# |                     ¦   «          w xY wd	}|                      |d
|¬¦  «         |                      |d¦  «         d S )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ÚassertNotEqualr6   )r,   r   rD   Úctxr   ÚpÚvisible_gpu_counts          r   Ú%test_visible_devices_set_after_importz8TestVisibleDevices.test_visible_devices_set_after_import/   s&  € ð 	ÐÐÐÐÐåˆtŒyŒ}ÑÔ Ð'Ð'Ø�MŠMÐ<Ñ=Ô=Ð=åŒ:�>Š>Ð0Ñ1Ô1ð 	ØEˆCØ�MŠM˜#ÑÔÐåÔ)¨'Ñ2Ô2ˆØ�IŠI‰KŒKˆØ�KŠKÕ<ÀAÀ4ˆKÑHÔHˆØ	�Š‰	Œ	ˆ	ð	Ø !§¢¡¤Ðà�FŠF‰HŒHˆHˆHøˆA�FŠF‰HŒHˆHˆHøøøð <ˆØ×ÒÐ-¨r°sÐÑ;Ô;Ð;ð 	×ÒÐ*¨AÑ.Ô.Ð.Ð.Ð.s   ÃC0 Ã0DN)r:   r;   r<   rQ   r=   r9   r   r?   r?   .   s#   € € € € € ð"/ð "/ð "/ð "/ð "/r9   r?   Ú__main__)rG   r   Ú
numba.corer   Únumba.cuda.cudadrv.runtimer   Únumba.cuda.testingr   r   r   Úunittest.mockr   r   ÚENABLE_CUDASIMr'   ÚTestCaser"   r?   r:   Úmainr=   r9   r   ú<module>rZ      s&  ðØ Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ Ð Ð Ð Ð Ð ð	ð 	ð 	ð 
Ôð ,Ø"ÐÐð,ÐðIð Ið Ið Ið I�(Ô#ñ Iô Ið Ið$#/ð #/ð #/ð #/ð #/˜Ô*¨Kñ #/ô #/ð #/ðL ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr9   