
    Xh                         U d dl mZmZ  G d de          Z G d de          Z G d d          Z e            aeed<   d	efd
ZdS )    )OptionalProtocolc                       e Zd ZdefdZdS )Bufferreturnc                     d S N )selfs    l/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/triton/runtime/_allocation.pydata_ptrzBuffer.data_ptr           N)__name__
__module____qualname__intr   r
   r   r   r   r      s/        #      r   r   c                   2    e Zd Zdededee         defdZdS )	Allocatorsize	alignmentstreamr   c                     d S r	   r
   r   r   r   r   s       r   __call__zAllocator.__call__   r   r   Nr   r   r   r   r   r   r   r
   r   r   r   r   
   sH        S S (3- F      r   r   c                   2    e Zd Zdededee         defdZdS )NullAllocatorr   r   r   r   c                      t          d          )NzxKernel requires a runtime memory allocation, but no allocator was set. Use triton.set_allocator to specify an allocator.)RuntimeErrorr   s       r   r   zNullAllocator.__call__   s     O P P 	Pr   Nr   r
   r   r   r   r      sR        PS PS P(3- PF P P P P P Pr   r   
_allocator	allocatorc                 
    | a dS )z
    The allocator function is called during kernel launch for kernels that
    require additional global memory workspace.
    N)r!   )r"   s    r   set_allocatorr$      s     JJJr   N)	typingr   r   r   r   r   r!   __annotations__r$   r
   r   r   <module>r'      s    % % % % % % % % %    X          P P P P P P P P &
I ' ' 'Y      r   