U
    -e                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZm	Z	 d dl
Z
eedZe jdkZdd ZedG d	d
 d
e	Zedkre
  dS )    N)cuda)skip_on_cudasimCUDATestCaseget_contextposixc              
   C   s\   ddl m} zttd W n, |k
rL } z| | W 5 d }~X Y nX | d  d S )Nr   )CudaDriverError   )Znumba.cuda.cudadrv.errorr   r   Z	to_devicenpZarangeput)qr   e r   m/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/numba/cuda/tests/cudapy/test_multiprocessing.py	fork_test   s    r   zdisabled for cudasimc                   @   s,   e Zd Zeedeeddd ZdS )TestMultiprocessingzrequires mp.get_contextzrequires Unixc                 C   s`   t   td}| }|jt|gd}|  | }|	  | 
| | dt| dS )z&
        Test fork detection.
        fork)targetargszCUDA initialized before forkingN)r   Zcurrent_contextmpr   QueueProcessr   startgetjoinZassertIsNotNoneZassertInstr)selfctxr   procexcr   r   r   	test_fork   s    

zTestMultiprocessing.test_forkN)__name__
__module____qualname__unittestZ
skipUnlesshas_mp_get_contextis_unixr   r   r   r   r   r      s   

r   __main__)osmultiprocessingr   numpyr	   Znumbar   Znumba.cuda.testingr   r   r#   hasattrr$   namer%   r   r   r    mainr   r   r   r   <module>   s   


