Ë
    Ž\;j'  ã                   óÊ   — d dl Z d dlmZ d dlmZ d dlmZ  ee j                  j                  dd«      «      a
 G d„ d«      Zedd	„«       Zt        d
k(  redd„«       ZeZdd„Zy)é    N)Úcontextmanager©Úwraps)ÚcoreÚEVENT_LEVELz-1c                   ó&   — e Zd Zd„ Zd„ Zdd„Zd„ Zy)ÚSotProfilerc                 ó$   — | j                  «        y ©N)Úenable©Úselfs    ú`G:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\paddle/jit/sot/profiler.pyÚ	__enter__zSotProfiler.__enter__   s   € Ø�‰�ó    c                 ó$   — | j                  «        y r   )Údisable)r   Úexc_typeÚexc_valÚexc_tbs       r   Ú__exit__zSotProfiler.__exit__   s   € Ø�‰�r   Nc                 óT   — t        j                  «        t        j                  «        y r   )r   Únvprof_startÚnvprof_enable_record_event)r   Útags     r   r   zSotProfiler.enable   s   € Ü×ÑÔÜ×'Ñ'Õ)r   c                 ó,   — t        j                  «        y r   )r   Únvprof_stopr   s    r   r   zSotProfiler.disable#   s   € Ü×ÑÕr   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   © r   r   r	   r	      s   „ òòó*ór   r	   c              #   óÀ   K  — 	 d}t         |k\  rt        j                  | «       d}d –— |rt        j                  «        y y # rt        j                  «        w w xY w­w)NFT)Ú_event_levelr   Únvprof_nvtx_pushÚnvprof_nvtx_pop)Ú
event_nameÚevent_levelÚneed_pops      r   Ú
EventGuardr)   '   sV   è ø€ ð	#àˆÜ˜;Ò&Ü×!Ñ! *Ô-ØˆHÛáÜ× Ñ Õ"ð ø‰8Ü× Ñ Õ"ð üs   ‚A„&A ªAÁAÁAéÿÿÿÿc              #   ó   K  — d –— y ­wr   r!   )r&   r'   s     r   Ú_EmptyEventGuardr,   7   s	   è ø€ äùs   ‚c                 ó.   ‡ — ˆ fd„}d„ }t         |k\  r|S |S )Nc                 ó2   •‡ — t        ‰ «      ˆˆ fd„«       }|S )Nc                  óZ   •— t        ‰d¬«      5   ‰| i |¤Žcd d d «       S # 1 sw Y   y xY w)Nr   )r'   )r)   )ÚargsÚkwargsr&   Úfuncs     €€r   Úcall_with_eventz>event_register.<locals>.event_wrapper.<locals>.call_with_event@   s&   ø€ ä˜J°AÖ6Ù˜TÐ, VÑ,÷ 7×6Ò6ús   �!¡*r   )r2   r3   r&   s   ` €r   Úevent_wrapperz%event_register.<locals>.event_wrapper?   s!   ù€ Ü	ˆt‹ô	-ó 
ð	-ð Ðr   c                 ó   — | S r   r!   )r2   s    r   Ú
do_nothingz"event_register.<locals>.do_nothingG   s   € Øˆr   )r#   )r&   r'   r4   r6   s   `   r   Úevent_registerr7   >   s#   ø€ ôòô �{Ò"ØÐàÐr   )r   )ÚosÚ
contextlibr   Ú	functoolsr   Úpaddle.frameworkr   ÚintÚenvironÚgetr#   r	   r)   r,   r7   r!   r   r   Ú<module>r?      sr   ðó 
Ý %Ý å !á�2—:‘:—>‘> -°Ó6Ó7€÷ñ ð ò
#ó ð
#ô �2Òàòó ðð "€Jôr   