§
    z”j  ã                   ó<   — d dl Z ddlmZ dad„ Zd„ Zd„ Zd„ Zd„ ZdS )	é    Né   )Ú	Parameterc                  ó`   — t           d uo%t          t          j        dd¦  «        ¦  «        dk    S )NÚPADDLE_TRAINERS_NUMÚ1é   )Ú__parallel_ctx__clz__ÚintÚosÚgetenv© ó    úr/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/paddle/distributed/parallel_helper.pyÚ_is_data_parallel_moder      s3   € õ 	 TÐ)ð 	;Ý•”	Ð/°Ñ5Ô5Ñ6Ô6¸Ò:ðr   c                  ó   — t           d uS )N©r	   r   r   r   Ú_is_parallel_ctx_initializedr      s   € å ¨Ð,Ð,r   c                 ó,   — t           
J d¦   «         ‚| a d S )Nz-ParallelContext can only be initialized once.r   )Úccl_parallel_contexts    r   Ú_set_parallel_ctxr   "   s'   € å Ð(Ð(Ø7ñ )Ô(Ð(ð 1ÐÐÐr   c                  óZ   — t           €
J d¦   «         ‚t                                ¦   «          d S )Nz&ParallelContext should be initialized.)r	   Úinitr   r   r   Ú_init_parallel_ctxr   *   s3   € å Ð,Ð,Ø0ñ -Ô,Ð,õ ×ÒÑ Ô Ð Ð Ð r   c                 ó€   — ddl m} | D ]4}|j        rŒ
t          |t          ¦  «        r|j        r ||dd¬¦  «         Œ5d S )Nr   )Ú	broadcastr   T)Úsync_op)Údistributedr   Úis_distributedÚ
isinstancer   Ú	trainable)Ú
parametersr   Úparams      r   Ú_broadcast_parametersr#   2   sp   € Ø'Ð'Ð'Ð'Ð'Ð'àð .ð .ˆð Ôð 	ØÝeYÑ'Ô'ð 	.¨E¬Oð 	.ØˆIe˜Q¨Ð-Ñ-Ô-Ð-øð.ð .r   )	r   Ú	frameworkr   r	   r   r   r   r   r#   r   r   r   ú<module>r%      s}   ðð 
€	€	€	à !Ð !Ð !Ð !Ð !Ð !àÐ ðð ð ð-ð -ð -ð
1ð 1ð 1ð!ð !ð !ð	.ð 	.ð 	.ð 	.ð 	.r   