o
    1&i                     @   s   d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZ G dd dZd	efd
dZe
dd Zeedddd Ze
dd Zeeddddd ZdS )    )types)overloadoverload_method)	signature)	nvvmutils)	intrinsic)
grid_group	GridGroupc                   @   s   e Zd ZdZdddZdS )r	   z0A cooperative group representing the entire gridreturnNc                   C   s   dS )zSynchronize this grid groupN r   r   r   8C:\wamp64\www\opt\env\Lib\site-packages\numba/cuda/cg.pysync   s    zGridGroup.sync)r
   N)__name__
__module____qualname____doc__r   r   r   r   r   r	   	   s    r	   r
   c                   C      t  S )zGet the current grid group.)r	   r   r   r   r   	this_grid   s   r   c                 C   s   t t}dd }||fS )Nc                 S   s(   |  tjd}|j}|t||fS )N   )get_constantr   int32modulecallr   Z declare_cudaCGGetIntrinsicHandle)contextbuildersigargsonemodr   r   r   codegen   s   z_this_grid.<locals>.codegen)r   r   )	typingctxr   r   r   r   r   
_this_grid   s   r!   cuda)targetc                  C   s   dd } | S )Nc                   S   r   N)r!   r   r   r   r   impl%   s   z_ol_this_grid.<locals>.implr   )r%   r   r   r   _ol_this_grid#      r&   c                 C   s   t tj|}dd }||fS )Nc                 S   s0   |  tjd}|j}|t|g ||R S )Nr   )r   r   r   r   r   r   Zdeclare_cudaCGSynchronize)r   r   r   r   flagsr   r   r   r   r   /   s   z!_grid_group_sync.<locals>.codegen)r   r   r   )r    groupr   r   r   r   r   _grid_group_sync+   s   r*   r   c                 C   s   dd }|S )Nc                 S   s   t | S r$   )r*   )r)   r   r   r   r%   ;   s   z!_ol_grid_group_sync.<locals>.implr   )r)   r%   r   r   r   _ol_grid_group_sync9   r'   r+   N)Z
numba.corer   Znumba.core.extendingr   r   Znumba.core.typingr   Z
numba.cudar   Znumba.cuda.extendingr   Znumba.cuda.typesr   r	   ZGridGroupClassr   r!   r&   r*   r+   r   r   r   r   <module>   s     



