o
    8Î®cÇ  ã                   @   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
   úJ/tmp/pip-target-vg8gfxp4/lib/python/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   ó   t | ||ƒ d S ©N©r   r   r
   r
   r   Údevice_to_host   ó   r   c                 C   s   | j | j S r   )Úitemsizer   )Úobjr
   r
   r   Údevice_memory_size   s   r   c                 C   r   r   r   r   r
   r
   r   Údevice_to_device   r   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                   @   ó   e Zd ZdS )ÚLinkerErrorN©r   r   r   r
   r
   r
   r   r!   %   ó    r!   c                   @   r    )Ú
NvrtcErrorNr"   r
   r
   r
   r   r$   )   r#   r$   c                   @   r    )ÚCudaAPIErrorNr"   r
   r
   r
   r   r%   -   r#   r%   c                  O   s   d}t |ƒ‚)Nz<Launching kernels directly is not supported in the simulator)ÚRuntimeError)ÚargsÚkwargsÚmsgr
   r
   r   Úlaunch_kernel1   s   r*   F)r   )Ú__doc__r   r   r   r   r   Úobjectr   ÚdriverÚLinkerr&   r!   r$   r%   r*   ÚUSE_NV_BINDINGr
   r
   r
   r   Ú<module>   s    



