
    kh                     z    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y)    )OptionalProtocolc                       e Zd ZdefdZy)Bufferreturnc                      y N )selfs    V/var/www/teggl/fontify/venv/lib/python3.12/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                   *    e Zd Zdededee   defdZy)	Allocatorsize	alignmentstreamr   c                      y 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   
   s'    S S (3- F r   r   c                   *    e Zd Zdededee   defdZy)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r   Nr   r
   r   r   r   r      s,    PS PS P(3- PF Pr   r   
_allocator	allocatorc                     | a y)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	     Jr   N)	typingr   r   r   r   r   r!   __annotations__r$   r
   r   r   <module>r'      sI    % %X  P P &
I 'Y r   