a
    Df                     @   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ed	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dZdS )r	   z0A cooperative group representing the entire gridNreturnc                   C   s   dS )zSynchronize this grid groupN r   r   r   Z/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/numba/cuda/cg.pysync   s    zGridGroup.sync)__name__
__module____qualname____doc__r   r   r   r   r   r	   	   s   r	   r
   c                   C   s   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argsZonemodr   r   r   codegen   s    z_this_grid.<locals>.codegen)r   r   )	typingctxr   r   r   r   r   
_this_grid   s    r    Zcuda)targetc                  C   s   dd } | S )Nc                   S   s   t  S N)r    r   r   r   r   impl%   s    z_ol_this_grid.<locals>.implr   )r#   r   r   r   _ol_this_grid#   s    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   s    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   



