§
    1@Äj'  ã                   óÞ   — d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
 d dlmZ  G d„ de¦  «        Z e
d¦  «         G d„ d	e¦  «        ¦   «         Zed
k    r ej        ¦   «          dS dS )é    N)Úcuda)ÚunittestÚCUDATestCaseÚskip_on_cudasimÚskip_under_cuda_memcheck)Úcaptured_stdoutc                   ó   — e Zd Zd„ ZdS )ÚTestCudaDetectc                 óø   — t          ¦   «         5 }t          j        ¦   «          d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         }|                      d|¦  «         |                      d|¦  «         d S )NÚFoundzCUDA devices)r   r   ÚdetectÚgetvalueÚassertIn)ÚselfÚoutÚoutputs      úUC:\Projects\Historical\venv\Lib\site-packages\numba/cuda/tests/cudadrv/test_detect.pyÚtest_cuda_detectzTestCudaDetect.test_cuda_detect   s¦   € åÑÔð 	 #ÝŒK‰MŒMˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	à—’‘”ˆØ�Š�g˜vÑ&Ô&Ð&Ø�Š�n fÑ-Ô-Ð-Ð-Ð-s   �/¯3¶3N)Ú__name__Ú
__module__Ú__qualname__r   © ó    r   r
   r
      s#   € € € € € ð.ð .ð .ð .ð .r   r
   zHangs cuda-memcheckc                   ó¢   — e Zd Zd„ Zd„ Z ed¦  «         ej        ej	         
                    d¦  «         d¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestCUDAFindLibsc                 ó�  — t          j        |t           j        t           j        |¬¦  «        }t          j        d|j        ¦  «        }	 |                     ¦   «          |                     ¦   «         \  }}|                     ¦   «         |                     ¦   «         f| 	                    ¦   «          S # | 	                    ¦   «          w xY w)N)ÚstdoutÚstderrÚenvg     Àr@)
Ú
subprocessÚPopenÚPIPEÚ	threadingÚTimerÚkillÚstartÚcommunicateÚdecodeÚcancel)r   Úcmdliner   ÚpopenÚtimeoutr   Úerrs          r   Úrun_cmdzTestCUDAFindLibs.run_cmd   s¥   € ÝÔ  Ý(2¬Ý(2¬Ø%(ð*ñ *ô *ˆõ ”/ '¨5¬:Ñ6Ô6ˆð	Ø�MŠM‰OŒOˆOØ×(Ò(Ñ*Ô*‰HˆC�à—:’:‘<”< §¢¡¤Ð-à�NŠNÑÔÐÐøˆG�NŠNÑÔÐÐøøøs   ÁAB/ Â/Cc                 ó°   — t           j                             ¦   «         }t          |¦  «        ||<   d}t          j        d|g}|                      ||¦  «        S )Nzžif 1:
            from numba import cuda
            @cuda.jit('(int64,)')
            def kernel(x):
                pass
            kernel(1,)
            z-c)ÚosÚenvironÚcopyÚstrÚsysÚ
executabler.   )r   ÚenvvarÚenvvar_valueÚenv_copyÚcoder*   s         r   Úrun_test_in_separate_processz-TestCUDAFindLibs.run_test_in_separate_process)   sP   € Ý”:—?’?Ñ$Ô$ˆÝ˜|Ñ,Ô,ˆ�Ñðˆõ ”> 4¨Ð.ˆØ�|Š|˜G XÑ.Ô.Ð.r   z6Simulator does not hit device library search code pathÚlinuxz
linux onlyc                 óR  — ddg}d}|D ]R}t           j                             t           j        j        |¦  «        }t           j                             |¦  «        r nŒS|�I|                      d|¦  «        \  }}|                      |du¦  «         |                      |du¦  «         dS dS )zŒ
        This tests that the find_libs works as expected in the case of an
        environment variable being used to set the path.
        ÚlibÚlib64NÚNUMBA_CUDA_DRIVER)r0   ÚpathÚjoinÚsepÚexistsr:   Ú
assertTrue)r   ÚlocsÚlooking_forÚlr   r-   s         r   Útest_cuda_find_lib_errorsz*TestCUDAFindLibs.test_cuda_find_lib_errors6   s¾   € ð �wÐˆàˆØð 	ð 	ˆAÝœ'Ÿ,š,¥r¤w¤{°AÑ6Ô6ˆKÝŒw�~Š~˜kÑ*Ô*ð Ø�ðð
 Ð"Ø×8Ò8Ð9LØ9DñFô F‰HˆC�à�OŠO˜C t˜OÑ,Ô,Ð,Ø�OŠO˜C t˜OÑ,Ô,Ð,Ð,Ð,ð	 #Ð"r   N)r   r   r   r.   r:   r   r   ÚskipIfr4   ÚplatformÚ
startswithrH   r   r   r   r   r      s‡   € € € € € ðð ð ð"/ð /ð /ð €_ÐMÑNÔNØ€X„_˜œ×0Ò0°Ñ9Ô9Ð9¸<ÑHÔHð-ð -ñ IÔHñ OÔNð-ð -ð -r   r   Ú__main__)r0   r4   r    r#   Únumbar   Únumba.cuda.testingr   r   r   r   Únumba.tests.supportr   r
   r   r   Úmainr   r   r   ú<module>rQ      s#  ðØ 	€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð ð:ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :ð :à /Ð /Ð /Ð /Ð /Ð /ð.ð .ð .ð .ð .�\ñ .ô .ð .ð ÐÐ/Ñ0Ô0ð7-ð 7-ð 7-ð 7-ð 7-�|ñ 7-ô 7-ñ 1Ô0ð7-ðt ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   