U
    ?h                     @   s   d Z dddZdddZdddZdd	 Zdd
dZG dd deZe ZdZ	G dd de
ZG dd de
ZG dd de
Zdd ZdZdS )zy
Most of the driver API is unsupported in the simulator, but some stubs are
provided to allow tests to import correctly.
    c                 C   s&   |  dd | t|gd  d S )Nu1r   )viewfillbytes)dstvalsizestream r
   U/var/www/html/venv/lib/python3.8/site-packages/numba/cuda/simulator/cudadrv/driver.pydevice_memset   s    r   c                 C   s$   | dd | |  dd |< d S )Nr   )r   r   srcr   r	   r
   r
   r   host_to_device   s    r   c                 C   s   t | || d S Nr   r   r
   r
   r   device_to_host   s    r   c                 C   s   | j | j S r   )itemsizer   )objr
   r
   r   device_memory_size   s    r   c                 C   s   t | || d S r   r   r   r
   r
   r   device_to_device   s    r   c                   @   s   e Zd Zdd ZdS )
FakeDriverc                 C   s   dS )N   r
   )selfr
   r
   r   get_device_count   s    zFakeDriver.get_device_countN)__name__
__module____qualname__r   r
   r
   r
   r   r      s   r   Nc                   @   s   e Zd ZdS )LinkerErrorNr   r   r   r
   r
   r
   r   r   %   s   r   c                   @   s   e Zd ZdS )
NvrtcErrorNr   r
   r
   r
   r   r    )   s   r    c                   @   s   e Zd ZdS )CudaAPIErrorNr   r
   r
   r
   r   r!   -   s   r!   c                  O   s   d}t |d S )Nz<Launching kernels directly is not supported in the simulator)RuntimeError)argskwargsmsgr
   r
   r   launch_kernel1   s    r&   F)r   )r   )r   )r   )__doc__r   r   r   r   r   objectr   ZdriverZLinkerr"   r   r    r!   r&   ZUSE_NV_BINDINGr
   r
   r
   r   <module>   s   



