
    ͑iM                         S SK r S SKJrJr  S rS r " S S5      r " S S5      r " S	 S
5      r " S S5      r	S r
S\ R                  R                  4S jrSS jrg)    N)bind_datatypebind_vartypec                  l   [        5         S[        R                  R                  R                  l        [        R                  R                  SS05        [        R                  R                  5         [        R                  R                  5         [        R                  R                  [        R                  l
        [        R                  R                  R                  [        R                  l        [        R                  R                  R                  [        R                  l        [        R                  R                  R                  [        R                  l        [        R                  R                  [        R                  l
        [        R                  R                  R                  [        R                  l        [        R                  R                  R                  [        R                  l        [        R                  R                  R                  [        R                  l        g )NTFLAGS_enable_pir_in_executor)r   paddlebase	framework
global_var_use_pir_api_	set_flagspirregister_paddle_dialectregister_dist_dialectProgramcoreprogram_guarddefault_main_programdefault_startup_programstatic     P/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/pir_utils.py_switch_to_pir_r      s)   O59FKK$$2
 >EF
JJ&&(
JJ$$& **,,FKK &

 = =FKK'-zz'K'KFKK$

// KK' #JJ..FMM"(**//"?"?FMM)/)M)MFMM&

// MM)r   c                     [        5         S[        R                  R                  R                  l        [        R                  R                  SS05        [        R                  R                  R                  [        R                  l        [        R                  R                  R                  [        R                  l        [        R                  R                  R                  [        R                  l	        [        R                  R                  R                  [        R                  l
        [        R                  R                  R                  [        R                  l        [        R                  R                  R                  [        R                  l        [        R                  R                  R                  [        R                  l	        [        R                  R                  R                  [        R                  l
        g )NFr   )r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   _switch_to_old_ir_r   *   s+   N5:FKK$$2
 >FG ++//77FKK & 5 5 C CFKK22 KK$ 	55 KK' #KK1199FMM"(++"7"7"E"EFMM22 MM& 	55 MM)r   c                   ,    \ rS rSrS rS rS rS rSrg)IrGuardA   c                    [         R                  R                  R                  5       U l        [         R                  R                  R                  S5      S   U l        U R                  (       a  [         R                  " 5         U R                  (       d[  [         R                  R                  SS05        S[         R                  R                  R                  l
        U R                  5         g g NFLAGS_enable_pir_apiT)r   r   r	   in_dygraph_modein_dygraph_outside	get_flagsold_flagenable_staticr   r
   r   _switch_to_pirselfs    r   	__enter__IrGuard.__enter__B   s    "(++"7"7"G"G"I--778NO"
 ""  "}}&&(>'EF=AFKK!!,,:! r   c                 (   U R                   (       a  [        R                  " 5         U R                  (       d[  [        R                  R                  SS05        S[        R                  R                  R                  l        U R                  5         g g Nr!   F)
r#   r   disable_staticr%   r	   r   r   r
   r   _switch_to_old_irr)   exc_typeexc_valexc_tbs       r   __exit__IrGuard.__exit__N   sa    ""!!#}}&&(>'FG=BFKK!!,,:""$ r   c                 |    [         R                  R                  R                  S5      S   (       a  [	        5         g g Nr!   r   r   r	   r$   r   r(   s    r   r'   IrGuard._switch_to_pirV   0    ;;  **+AB"
 
r   c                     [         R                  R                  R                  S5      S   (       d  [	        5         g [        S5      eNr!   zIrGuard._switch_to_old_ir only work when paddle.framework.in_pir_mode() is false,                 please set FLAGS_enable_pir_api = falser   r   r	   r$   r   RuntimeErrorr(   s    r   r/   IrGuard._switch_to_old_ir\   =    {{$$../EF"
  9 r   r#   r%   N	__name__
__module____qualname____firstlineno__r*   r4   r'   r/   __static_attributes__r   r   r   r   r   A   s    
"%	r   r   c                        \ rS rSrS rS rSrg)
OldIrGuardh   c                    [         R                  R                  R                  5       U l        [         R                  R                  R                  S5      S   U l        U R                  (       a  [         R                  " 5         U R                  (       a,  [         R                  R                  SS05        [        5         g g r-   )
r   r   r	   r"   r#   r$   r%   r&   r   r   r(   s    r   r*   OldIrGuard.__enter__i   s    "(++"7"7"G"G"I--778NO"
 ""  "==&&(>'FG  r   c                     U R                   (       a  [        R                  " 5         U R                  (       a,  [        R                  R                  SS05        [        5         g g r    )r#   r   r.   r%   r	   r   r   r0   s       r   r4   OldIrGuard.__exit__t   sC    ""!!#==&&(>'EF r   rA   NrC   rD   rE   rF   r*   r4   rG   r   r   r   rI   rI   h   s    	!r   rI   c                   ,    \ rS rSrS rS rS rS rSrg)DygraphPirGuard|   c                     [         R                  R                  R                  S5      S   U l        U R                  (       d2  [         R                  R                  SS05        U R                  5         g g r    )r   r   r	   r$   r%   r   r'   r(   s    r   r*   DygraphPirGuard.__enter__}   s[    --778NO"
 }}&&(>'EF! r   c                     U R                   (       d2  [        R                  R                  SS05        U R	                  5         g g r-   )r%   r   r	   r   r/   r0   s       r   r4   DygraphPirGuard.__exit__   s4    }}&&(>'FG""$ r   c                 |    [         R                  R                  R                  S5      S   (       a  [	        5         g g r7   r8   r(   s    r   r'   DygraphPirGuard._switch_to_pir   r:   r   c                     [         R                  R                  R                  S5      S   (       d  [	        5         g [        S5      er<   r=   r(   s    r   r/   !DygraphPirGuard._switch_to_old_ir   r@   r   r%   NrB   r   r   r   rQ   rQ   |   s    "%
	r   rQ   c                        \ rS rSrS rS rSrg)DygraphOldIrGuard   c                     [         R                  R                  R                  S5      S   U l        U R                  (       a,  [         R                  R                  SS05        [        5         g g r-   )r   r   r	   r$   r%   r   r   r(   s    r   r*   DygraphOldIrGuard.__enter__   sU    --778NO"
 ==&&(>'FG  r   c                 ~    U R                   (       a,  [        R                  R                  SS05        [	        5         g g r    )r%   r   r	   r   r   r0   s       r   r4   DygraphOldIrGuard.__exit__   s.    ==&&(>'EF r   r[   NrO   r   r   r   r]   r]      s    !r   r]   c                 z   SSK Jn  U R                  5       nUR                  SUR                  SUR
                  SUR                  SUR                  SUR                  SUR                  SUR                  SUR                  SUR                  SUR                  S0nX0R                  5       R                     nXB-  $ )Nr   )DataType            )paddle.base.corerd   numelBOOLINT8INT16INT32INT64UINT8UINT16UINT32UINT64FLOAT32FLOAT64typedtype)valuerd   rj   mappingrw   s        r   
get_memoryrz      s    )KKMEqq!!G JJL&&'E=r   programc                    SnU R                  5       R                   H]  nUR                  5        H!  nUR                  5       nU[	        U5      -  nM#     UR                  5        H  nU[	        U5      -  nM     M_     US-  S-  S-  $ )Ng        i   )global_blockopsoperandssourcerz   results)r{   total_ioopoperandrx   s        r   analysis_ior      s     H""$(({{}GNN$E
5))H % ZZ\E
5))H " ) d?T!D((r   c                     Uc  U $ SS0nUR                  X5      nSnU(       a  SU4n[        [        R                  U5      nUS:X  a	  U" U S5      $ U" U /UQ76 $ )N
hard_swish	hardswishr   	use_cudnnsoftmax)getgetattrr   _C_ops)inputactr   act_name_mappingattrsact_ops         r   append_activation_in_pirr      st    
{ 	k 

s
(CEi(V]]C(F
ieR  % %  r   )NN)r   paddle.framework.dtyper   r   r   r   r   rI   rQ   r]   rz   r   r   r   r   r   r   r   <module>r      sa      >,.$ $N ( @ *)++ ) !r   