
    x-j              
       "   d dl Z d dlZd dlmZmZ d dlmZ i ddefddefdd	efd
defddefddefddefddefddefddefddefddefddefddefd d!efd"d#efd$d%efd&efd'efd(efd)efd*efd+efd,efd-efd.Z	d/ Z
d0 ZdS )1    N)	REMAINDERArgumentParser)	strtoboolPOD_IPhostPADDLE_MASTERmasterPADDLE_DEVICESdevicesPADDLE_NNODESnnodesPADDLE_RUN_MODErun_modePADDLE_LOG_LEVEL	log_levelPADDLE_LOG_OVERWRITElog_overwritePADDLE_SORT_IPsort_ipPADDLE_NPROC_PER_NODEnproc_per_nodePADDLE_JOB_IDjob_idPADDLE_RANKrankPADDLE_LOG_DIRlog_dirPADDLE_MAX_RESTARTmax_restartPADDLE_ELASTIC_LEVELelastic_levelPADDLE_ELASTIC_TIMEOUTelastic_timeoutPADDLE_SERVER_NUM
server_numPADDLE_TRAINER_NUMtrainer_numserverstrainers	gloo_port	with_gloo
start_portipsauto_parallel_configauto_cluster_config)PADDLE_SERVERS_ENDPOINTSPADDLE_TRAINERS_ENDPOINTSPADDLE_GLOO_PORTPADDLE_WITH_GLOOPADDLE_START_PORT
PADDLE_IPSPADDLE_AUTO_PARALLEL_CONFIGPADDLE_AUTO_CLUSTERc                  (   dD ]r} t           j                            |           Qt           j                            |           t           j        |  d<   t	          j        d|  d|  dt                     st           j                                        S )N)
http_proxyhttps_proxy	_originalzUnset 'zM' to ensure stable NCCL communication in distributed training (backed up as 'z_original').)category)osenvirongetpopwarningswarnUserWarningcopy)	proxy_keys    k/var/www/html/banglarbhumi/venv/lib/python3.11/site-packages/paddle/distributed/launch/context/args_envs.py
fetch_envsrG   2   s    2  	:>>)$$024*..2K2KBJ).../M:) : :"+: : :$    :??    c            	      j   t                      } |                     d          }|                    dt          d d           |                    dt          dd           |                    dt
          d	d
           |                    dt          dd           |                    dt          dd           |                    dt          dd           |                    dt          dd           |                    dt          dd           |                    dt
          d d           |                    dt          dd           |                    dt          d d           |                    dt          d d!           |                    d"d#d$d%t          d d&           |                    d't          d d(           |                    d)t          d d*           |                    d+t
          d,d-           |                    d.t          d d/           |                    d0t          d1d2           |                    d3t          d45           |                    d6t          d d7           |                    d8t          9           |                     d:          }|                    d;t          d<d=           |                    d>t          d<d?           |                    d@t
          d dA           |                    dBt
          d dC           |                    dDt
          dEdF           |                    dGt          ddH           |                     dI          }|                    dJt
          dKdL           |                    dMt
          d	dN           |                    dOt
          dPdQ           |                                 }t          t          j	        dRd	                    }|d1k    r%t          |d1         dS          sJ ||d1         _        |S )TNzBase Parametersz--masterz%the master/rendezvous server, ip:port)typedefaulthelpz--legacyFzuse legacy launchz--rankzthe node rankz--log_levelINFOzlog level. Default INFOz--log_overwritez'overwrite exits logfiles. Default Falsez	--sort_ipzrank node by ip. Default Falsez--enable_gpu_logTz2enable capture gpu log while running. Default Truez--nnodes1z)the number of nodes, i.e. pod/node numberz--nproc_per_nodez the number of processes in a podz	--log_dirlogz.the path for each process's log. Default ./logz
--run_modez+run mode of the job, collective/ps/ps-heterz--job_idrK   z%unique id of the job. Default defaultz	--devicesz--gpusz--npusz--xpusz'accelerate devices. as --gpus,npus,xpusz--hostzhost ipz--ipsz#nodes ips, e.g. 10.10.1.1,10.10.1.2z--start_porti  zfix port start withz--auto_parallel_configzGauto parallel config file absolute path, the file should be json formatz--auto_cluster_configr   z(auto parallel auto cluster config switchtraining_scriptzHthe full path of py script,followed by arguments for the training script)rJ   rL   z--auto_tuner_jsonzauto tuner json file pathtraining_script_args)nargszParameter-Server Parametersz	--servers zservers endpoints full listz
--trainersztrainers endpoints full listz--trainer_numznumber of trainersz--server_numznumber of serversz--gloo_portio  zgloo http portz--with_gloozuse gloo or notzElastic Parametersz--max_restart   z the times can restart. Default 3z--elastic_levelzHelastic level: -1 disable, 0 failed exit, peers hold, 1 internal restartz--elastic_timeout   z1seconds to wait before elastic job begin to trainPADDLE_TRAINER_IDr   )r   add_argument_groupadd_argumentstrr   intr   parse_known_argsr=   getenvhasattrr   )parser
base_groupps_groupelastic_groupargsenv_ranks         rF   
parse_argsre   ?   s   F**+<==J4	     E8K     sB_     C6O     6	     -	     A	     8	     /	     =	     :	     4	     6     H39MMM2	     S$5J      V	     7	          (	     2)DDD(()FGGH#r0M     31O     c46J     S$5H     C4D     C3D    
 --.BCCM/	     W	     @	     ""$$D290"5566H1}}tAw'''''QKrH   )r=   rA   argparser   r   paddle.utilsr   rZ   r[   env_args_mappingrG   re    rH   rF   <module>rj      s   
			  . . . . . . . . " " " " " "vsmh_ y#& h_	
 
C( c* _i8 y), .4 h_ FC= y#& =#. _c2 0#6  ,,!" =#.#$ "+C 0",c!2$c*$c*&,#,$:C#@19=3   :
 
 
w w w w wrH   