ó
    “~i¡  ã                  ó‚   • % S SK Jr  S SKJrJr  S SKJrJrJr  S SK	J
r
  \
" SSS9rS\S	'    " S
 S5      r " S S5      rg)é    )Úannotations)ÚCallableÚOptional)ÚExecutorÚas_completedÚFuture)Ú
ContextVarÚasync_compile_active_modeN)Údefaultz&ContextVar[Optional[AsyncCompileMode]]Úactive_modec                  ó,   • \ rS rSrSS jrSSS jjrSrg)	ÚFutureKernelé	   c                ó*   • Xl         S U l        X l        g ©N)Úfinalize_compileÚkernelÚfuture)Úselfr   r   s      ÚZ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/triton/runtime/_async_compile.pyÚ__init__ÚFutureKernel.__init__   s   € Ø 0ÔØˆŒØ�ó    c                óÌ   • U R                   b  U R                   $  U R                  R                  5       nU R	                  U5        X l         U$ ! [         a    U(       a   g e f = fr   )r   r   ÚresultÚ	Exceptionr   )r   Úignore_errorsr   s      r   r   ÚFutureKernel.result   sa   € Ø�;‰;Ñ"Ø—;‘;Ðð	Ø—[‘[×'Ñ'Ó)ˆFð 	×Ñ˜fÔ%ØŒØˆøô ó 	ÞÙàð		ús   ›A ÁA#Á!A#)r   r   r   N)r   r   r   r   )F)r   Úbool)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__static_attributes__© r   r   r   r   	   s   † ô÷
ñ r   r   c                  ó8   • \ rS rSrSS.S
S jjrS rS rS rSrg	)ÚAsyncCompileModeé    F)r   c               ó8   • Xl         X l        / U l        0 U l        g r   )Úexecutorr   Úraw_futuresÚfuture_kernels)r   r*   r   s      r   r   ÚAsyncCompileMode.__init__"   s   € Ø ŒØ*ÔØˆÔØ ˆÕr   c                óð   • U R                   R                  U5      nUb  U$ U R                  R                  U5      nXl        U R
                  R                  U5        [        X45      nXPR                   U'   U$ r   )r,   Úgetr*   ÚsubmitÚ_keyr+   Úappendr   )r   ÚkeyÚ
compile_fnÚfinalize_fnr   Úfuture_kernels         r   r0   ÚAsyncCompileMode.submit(   sn   € Ø×$Ñ$×(Ñ(¨Ó-ˆØÑØˆMà—‘×%Ñ% jÓ1ˆØŒØ×Ñ×Ñ Ô'Ü$ [Ó9ˆØ#0×Ñ˜CÑ ØÐr   c                óp   • [         R                  5       b  [        S5      e[         R                  U 5        U $ )Nz*Another AsyncCompileMode is already active)r   r/   ÚRuntimeErrorÚset)r   s    r   Ú	__enter__ÚAsyncCompileMode.__enter__4   s,   € Ü�?‰?ÓÑ(ÜÐKÓLÐLÜ�‰˜ÔØˆr   c                óÊ   • [        U R                  5       H5  nU R                  UR                     R	                  U R
                  5        M7     [        R                  S 5        g r   )r   r+   r,   r1   r   r   r   r:   )r   Úexc_typeÚ	exc_valueÚ	tracebackr   s        r   Ú__exit__ÚAsyncCompileMode.__exit__:   sF   € ä" 4×#3Ñ#3Ö4ˆFØ×Ñ §¡Ñ,×3Ñ3°D×4FÑ4FÖGñ 5ä�‰˜Õr   )r*   r,   r   r+   N)r*   r   )	r    r!   r"   r#   r   r0   r;   rA   r$   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>rH      s<   ðÞ "ß %ß =Ñ =Ý "á6@ÐA\ÐfjÑ6k€Ð3Ó k÷ñ ÷.ò r   