Ë
    -¼ˆi¡  ã                  óˆ   — U d dl mZ d dlmZmZ d dlmZmZmZ d dl	m
Z
  e
dd¬«      Zded	<    G d
„ d«      Z G d„ d«      Zy)é    )Úannotations)ÚCallableÚOptional)ÚExecutorÚas_completedÚFuture)Ú
ContextVarÚasync_compile_active_modeN)Údefaultz&ContextVar[Optional[AsyncCompileMode]]Úactive_modec                  ó   — e Zd Zdd„Zddd„Zy)ÚFutureKernelc                ó.   — || _         d | _        || _        y ©N)Úfinalize_compileÚkernelÚfuture)Úselfr   r   s      úg/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/triton/runtime/_async_compile.pyÚ__init__zFutureKernel.__init__   s   € Ø 0ˆÔØˆŒØˆó    c                óÀ   — | j                   | j                   S 	 | j                  j                  «       }| j	                  |«       || _         |S # t        $ r |rY y ‚ w xY wr   )r   r   ÚresultÚ	Exceptionr   )r   Úignore_errorsr   s      r   r   zFutureKernel.result   sc   € Ø;‰;Ð"Ø—;‘;Ðð	Ø—[‘[×'Ñ'Ó)ˆFð 	×Ñ˜fÔ%ØˆŒØˆøô ò 	ÙÙàð		ús   šA ÁAÁAN)r   r   r   r   )F)r   Úbool)Ú__name__Ú
__module__Ú__qualname__r   r   © r   r   r   r   	   s   „ óõ
r   r   c                  ó,   — e Zd Zddœdd„Zd„ Zd„ Zd„ Zy)	ÚAsyncCompileModeF)r   c               ó<   — || _         || _        g | _        i | _        y r   )Úexecutorr   Úraw_futuresÚfuture_kernels)r   r$   r   s      r   r   zAsyncCompileMode.__init__"   s!   € Ø ˆŒØ*ˆÔØˆÔØ ˆÕr   c                óô   — | j                   j                  |«      }||S | j                  j                  |«      }||_        | j
                  j                  |«       t        ||«      }|| j                   |<   |S r   )r&   Úgetr$   ÚsubmitÚ_keyr%   Úappendr   )r   ÚkeyÚ
compile_fnÚfinalize_fnr   Úfuture_kernels         r   r)   zAsyncCompileMode.submit(   st   € Ø×$Ñ$×(Ñ(¨Ó-ˆØÐØˆMà—‘×%Ñ% jÓ1ˆØˆŒØ×Ñ×Ñ Ô'Ü$ [°&Ó9ˆØ#0ˆ×Ñ˜CÑ ØÐr   c                ón   — t         j                  «       t        d«      ‚t         j                  | «       | S )Nz*Another AsyncCompileMode is already active)r   r(   ÚRuntimeErrorÚset)r   s    r   Ú	__enter__zAsyncCompileMode.__enter__4   s,   € Ü?‰?ÓÐ(ÜÐKÓLÐLÜ‰˜ÔØˆr   c                óÆ   — t        | j                  «      D ]4  }| j                  |j                     j	                  | j
                  «       Œ6 t        j                  d «       y r   )r   r%   r&   r*   r   r   r   r2   )r   Úexc_typeÚ	exc_valueÚ	tracebackr   s        r   Ú__exit__zAsyncCompileMode.__exit__:   sM   € ä" 4×#3Ñ#3Ó4ò 	HˆFØ×Ñ §¡Ñ,×3Ñ3°D×4FÑ4FÕGð	Hä‰˜Õr   N)r$   r   )r   r   r   r   r)   r3   r8   r    r   r   r"   r"       s   „ à<Aõ !ò
òór   r"   )Ú
__future__r   Útypingr   r   Úconcurrent.futuresr   r   r   Úcontextvarsr	   r   Ú__annotations__r   r"   r    r   r   ú<module>r>      s<   ðÞ "ß %ß =Ñ =Ý "á6@ÐA\ÐfjÔ6k€Ð3Ó k÷ñ ÷.ò r   