
    ΑiA                     .    S SK Jr  SSKJr  S rS rS rg)   )_apply_pass   )corec                     / nU R                  5       R                  R                  5        H)  u  p#UR                  (       d  M  UR	                  U5        M+     U$ N)global_blockvarsitemsis_dataappend)program	data_varsvar_namevars       S/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/framework/ir.pyget_data_varsr      sJ    I --/44::<;;;X& =     c                    Sn[         R                  R                  5       nSnSn/ n[        U R                  5       H  nU R                  U5      nUR                   H  nXR                  ;   a  SnX(R                  ;  a  M%  UR                  U5      n	U	SS S2    H?  n
UR                  U
5      nUc  M  UR                  U5        UR                  (       d  M=  SnMA     M     M     U(       a  U(       a  U H
  nSUl        M     g g g )Ngrad_merge_cond_nameFTr   r   )r   op_proto_and_checker_makerkOpRoleVarAttrNamerange
num_blocksblockops
attr_namesattr_find_var_recursiver   persistable)main_programgrad_merge_attr_nameop_role_var_attr_namehas_grad_mergehas_persistable_grad_var	grad_varsblock_idr   opp_ggg_vars               r   _update_grad_persistabler+      s    1 ;;NNPN$I,112""8,))B#}}4!%$MM9''/0CAY11!4=  '$$$/3,   3$ 2E $E  3~r   c                   ^ ^^^ SS jmU UUU4S jn[        T 5        TR                  SS5      nUR                  5       nUR                  (       a  U" S5        SUl        UR                  (       a  U(       a  U" S5        SUl        UR
                  (       a  U" S5        SUl        UR                  (       a  U(       a  U" S5        SUl        UR                  (       a  U(       a  U" S	5        SUl        UR                  (       a  U(       a  U" S
5        SUl        UR                  (       a  U" S5        SUl	        UR                  (       a  U" S5        SUl
        UR                  (       a  U" S5        SUl        UR                  (       a  U" / SQ5        SUl        UR                  (       a  U" S5        SUl        UR                  5         U$ )Nc                 .    X ;  a  X0U'   U(       a  XAU'   g g r    )attrs
attr_typesnamevaluetyps        r   update_attr)apply_build_strategy.<locals>.update_attr;   s    $K"t r   c                    > [        T5      n0 nT" XSSS5        T" XSSS5        T" UUS[        T5      S5        [        TTXU5        g )	Nnranksr   size_tuse_cudaFboolmem_opt_skip_varsz	list[str])dictr   r   )r1   r/   r0   r    
pass_attrsstartup_programr4   s      r   
apply_pass(apply_build_strategy.<locals>.apply_passA   sZ    Z 
ExH=Ez5&A,'	
 	L/4
Kr   r9   Fsync_batch_norm_passfuse_relu_depthwise_conv_passfuse_resunit_passfuse_bn_act_passfuse_bn_add_act_passfusion_group_passfuse_gemm_epilogue_passfuse_dot_product_attention_passfuse_elewise_add_act_pass)coalesce_grad_tensor_passfuse_adam_op_passfuse_sgd_op_passfuse_momentum_op_passruntime_context_cache_passr   )r+   get_copysync_batch_normfuse_relu_depthwise_convfuse_resunitfuse_bn_act_opsfuse_bn_add_act_opsenable_auto_fusionfuse_gemm_epiloguefuse_dot_product_attentionfuse_elewise_add_act_opsfuse_all_optimizer_opscache_runtime_context_clear_finalized)r    r>   build_strategyr=   r?   r9   r4   s   `` `  @r   apply_build_strategyr^   8   sz   #L L \*~~j%0H#))+N%%)*).&..82327/""&'&+#%%(%&).&))h)*-2*((X&',1)((,-,1)0045491.../27/,,	
 16-++/0/4,##%r   N)base.frameworkr    r   r   r+   r^   r.   r   r   <module>ra      s    ) %:Er   