o
    e                     @   s  d dl Z d dlZdZes zd dlZdZW n ey   dZY nw ddlmZ d!ddZe jj	ed	d
e jj
dddd Ze jj	ed	d
e jj
dddd Ze jj	ed	d
e jj
dddd Ze jj	ed	d
e jj
dddd Ze jj	ed	d
e jj
dddd Ze jj	ed	d
e jj
dddd Ze jj	ed	d
e jj
dddd Ze jj	ed	d
e jj
dddd Ze jj	ed	d
e jj
dddd Ze jj	ed	d
e jj
dddd  ZdS )"    NTF   )kernel_string c                 C   s   | dd| d S )N)r   r   )kernelargsr   r   ID:\Projects\ConvertPro\env\Lib\site-packages\cuda/benchmarks/test_cupy.pylaunch   s   r   zcupy is not installed)reasoncupy)groupc                 C   sb   t jtd}|d}t jjjdd}| | t| |  W d    d S 1 s*w   Y  d S )NcodeZempty_kernelTZnon_blocking)	r
   	RawModuler   get_functioncudastreamStreamr   synchronize)	benchmarkmoduler   r   r   r   r    test_launch_latency_empty_kernel   s   


"r   c                 C   s   t jtd}|d}t j  t jttj	}t jj
jdd}| | t||f |  W d    d S 1 s;w   Y  d S )Nr   Zsmall_kernelTr   )r
   r   r   r   r   set_allocatorallocctypessizeofc_floatr   r   r   r   )r   r   r   argr   r   r   r    test_launch_latency_small_kernel'   s   


"r   c                 C      t jtd}|d}t j  g }tdD ]}|t jt	
t	j qt|}t jjjdd}| | t|| |  W d    d S 1 sJw   Y  d S )Nr   Zsmall_kernel_512_args   Tr   r
   r   r   r   r   r   rangeappendr   r   r   c_inttupler   r   r   r   r   r   r   r   _r   r   r   r   )test_launch_latency_small_kernel_512_args6      


"r(   c                 C   s   t jtd}|d}t j  dgd }t|}t jjjdd}| | t	|| |
  W d    d S 1 s9w   Y  d S )Nr   Zsmall_kernel_512_boolsTr    r   r
   r   r   r   r   r   r%   r   r   r   r   r   r   r   r   r   r   r   r   *test_launch_latency_small_kernel_512_boolsI      



"r,   c                 C      t jtd}|d}t j  dgd }t|}t jjjdd}| | t	|| |
  W d    d S 1 s9w   Y  d S )Nr   Zsmall_kernel_512_doublesgn?r    Tr   r*   r+   r   r   r   ,test_launch_latency_small_kernel_512_doublesZ   r-   r/   c                 C   r.   )Nr   Zsmall_kernel_512_ints{   r    Tr   r*   r+   r   r   r   )test_launch_latency_small_kernel_512_intsk   r-   r1   c                 C   r.   )Nr   Zsmall_kernel_512_chars   r    Tr   r*   r+   r   r   r   *test_launch_latency_small_kernel_512_bytes|   r-   r3   c                 C   r.   )Nr   Zsmall_kernel_512_longlongsl    r    Tr   r*   r+   r   r   r   .test_launch_latency_small_kernel_512_longlongs   r-   r4   c                 C   r   )Nr   Zsmall_kernel_256_args   Tr   r!   r&   r   r   r   )test_launch_latency_small_kernel_256_args   r)   r6   c                 C   r   )Nr   Zsmall_kernel_16_args   Tr   r!   r&   r   r   r   (test_launch_latency_small_kernel_16_args   r)   r8   )r   )Zpytestr   Z
skip_testsr
   ImportErrorZkernelsr   r   markZskipifr   r   r   r(   r,   r/   r1   r3   r4   r6   r8   r   r   r   r   <module>   sT   
