
    P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dS )    )OptionalProtocol)
ContextVarc                       e Zd ZdefdZdS )Bufferreturnc                     d S N )selfs    r/var/www/development/aibuddy-work/election-extract/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)default	allocatorc                 :    t                               |            dS )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                               |            dS )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/      sO   % % % % % % % % % " " " " " "    X          P P P P P P P P %/J|]]__$U$U$U
Jy! U U UY     !+
< Q Q Q I Q Q Q&Xi%8 & & & & & &r   