
    Αi                     Z    S SK r S SKrS SKrS SKrS SKJr  S SKJrJrJ	r	   " S S\5      r
g)    N)LauncherInterface)loggerpull_worker_logstart_local_trainersc                   ,    \ rS rSrS rS rS rS rSrg)CollectiveLauncher   c                     Xl         / U l        g )N)argsprocs)selfr   s     k/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/distributed/fleet/elastic/collective.py__init__CollectiveLauncher.__init__   s    	
    c           	      ^   [         R                  " S5        U R                  n[        R                  " 5       U l        [        R                  R                  R                  R                  U5      u  p#[        R                  R                  R                  R                  XR
                  5      n[        UUUR                  UR                  UR                  US9U l        [#        U R                   5       H5  u  pV[         R                  " SUR$                  R&                   SU 35        M7     g )Nzcollective launcher launch ...)training_scripttraining_script_argslog_direnvszlaunch proc_id:z idx:)r   infor   tempfilemkdtemptmp_dirpaddledistributedfleetlaunchget_cluster_infoget_global_envsr   r   r   r   r   	enumerateprocpid)r   r   clusterpodglobal_envsidxr"   s          r   r   CollectiveLauncher.launch!   s    45yy'')))//66GGM((..55EE,,
 * 00!%!:!:LL

 #4::.ICKK/$))--cUCD /r   c                 $   [         R                  " S5        U R                  5       (       d  [         R                  " S5        [        R
                  R                  U R                  5      (       a!  [        R                  " U R                  5        g g )Nzcollective launcher stop ...zkill process failed)
r   r   _terminate_procserrorospathexistsr   shutilrmtree)r   s    r   stopCollectiveLauncher.stop6   sW    23$$&&LL./77>>$,,''MM$,,' (r   c                     [         R                  " S5        U R                   H3  nUR                  (       d  M  UR                  S:X  d  M(  [        U5        M5     U R                  5       nU$ )Nzcollective launcher watch ...r   )r   debugr   log_fn
local_rankr   _check_procs)r   prets      r   watchCollectiveLauncher.watch=   sN    45AxxxALLA-"  !
r   )r   r   r   N)	__name__
__module____qualname____firstlineno__r   r   r1   r:   __static_attributes__ r   r   r   r      s    E*(r   r   )r,   r/   r   r   (paddle.distributed.fleet.elastic.managerr   %paddle.distributed.fleet.launch_utilsr   r   r   r   rA   r   r   <module>rD      s-    
    F '* 'r   