
    ci                         U d dl mZmZ d dlmZ  G d de      Z G d de      Z G d d      Z ed	 e       
      Zee   e	d	<   defdZ
 ed	 e       
      aee	d<   dee   fdZy)    )OptionalProtocol)
ContextVarc                       e Zd ZdefdZy)Bufferreturnc                      y N )selfs    T/var/www/html/engine/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)default	allocatorc                 .    t         j                  |        y)z
    The allocator function is called during kernel launch for kernels that
    require additional global memory workspace.
    N)r"   setr$   s    r   set_allocatorr(      s    
 NN9r   _profile_allocatorc                 .    t         j                  |        y)z
    The profile allocator function is called before kernel launch for kernels
    that require additional global memory workspace.
    N)r)   r&   r'   s    r   set_profile_allocatorr+   &   s     9%r   N)typingr   r   contextvarsr   r   r   r   r"   __annotations__r(   r)   r+   r   r   r   <module>r/      s    % % "X  P P %/|]_$U
Jy! UY  !+< Q I Q&Xi%8 &r   