a
    kº”h  ã                   @   s`   U d dl mZmZ G dd„ deƒZG dd„ deƒZG dd„ dƒZeƒ aeed< ed	œd
d„ZdS )é    )ÚOptionalÚProtocolc                   @   s   e Zd Zedœdd„ZdS )ÚBuffer)Úreturnc                 C   s   d S ©N© )Úselfr   r   úH/var/www/auris/lib/python3.9/site-packages/triton/runtime/_allocation.pyÚdata_ptr   s    zBuffer.data_ptrN)Ú__name__Ú
__module__Ú__qualname__Úintr
   r   r   r   r	   r      s   r   c                   @   s$   e Zd Zeeee edœdd„ZdS )Ú	Allocator©ÚsizeÚ	alignmentÚstreamr   c                 C   s   d S r   r   ©r   r   r   r   r   r   r	   Ú__call__   s    zAllocator.__call__N©r   r   r   r   r   r   r   r   r   r   r	   r   
   s   r   c                   @   s$   e Zd Zeeee edœdd„ZdS )ÚNullAllocatorr   c                 C   s   t dƒ‚d S )NzxKernel requires a runtime memory allocation, but no allocator was set. Use triton.set_allocator to specify an allocator.)ÚRuntimeErrorr   r   r   r	   r      s    zNullAllocator.__call__Nr   r   r   r   r	   r      s   r   Ú
_allocator©Z	allocatorc                 C   s   | a dS )z€
    The allocator function is called during kernel launch for kernels that
    require additional global memory workspace.
    N)r   r   r   r   r	   Úset_allocator   s    r   N)	Útypingr   r   r   r   r   r   Ú__annotations__r   r   r   r   r	   Ú<module>   s
   