+
     °³j–—  ã                   ór  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
 ^ RIt^RIHt ^RIHtHtHtHtHtHtHtHtHtHtHt ^RIHt ^RIHtHtHt ^R	I H!t! ^R
I"H#t# ^RI$H%t%H&t& . 3R lt'R t(R R lt)R R lt*R R lt+R R lt,R R lt-R!R R llt.R R lt/R R lt0R t1 ! R R 4      t2R# )"é    N)Úliteral_eval)Úwhich)ÚAny)ÚSageMakerConfig)ÚDynamoBackendÚPrecisionTypeÚis_fp8_availableÚis_hpu_availableÚis_mlu_availableÚis_musa_availableÚis_neuron_availableÚis_npu_availableÚis_sdaa_availableÚis_torch_xla_availableÚis_xpu_available)ÚDEEPSPEED_MULTINODE_LAUNCHERS)Úget_free_portÚis_port_in_useÚmerge_dicts)Úcompare_versions)Ústr_to_bool)ÚDistributedTypeÚSageMakerDistributedTypec                óÈ   € VP                  V4      w  r4\        V 4      P                  4        F1  w  rVV\        V4      P                  4       9   g   K%  \	        W5V4       K3  	  V# )z,
Filters out all `accelerate` specific args
)Úparse_known_argsÚvarsÚitemsÚkeysÚsetattr)ÚargsÚparserÚdefault_argsÚnew_argsÚ_ÚkeyÚvalues   &&&    ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/accelerate/utils/launch.pyÚ_filter_argsr(   /   sU   € ð ×)Ñ)¨,Ó7�K€HÜ˜4“j×&Ñ&Ö(‰
ˆØ”$�x“.×%Ñ%Ó'Ö'Ü�H 5Ö)ñ )ð €Oó    c                 óö   € R U u. uF  p \        V 4      '       g   K  V NK  	  pp \        V4      ^ 8X  d   \        R4      hV^ ,          p\        P                  ! VR.4      pRV9   d   VRRRR3# VRRR	R
3# u up i )zñ
Determines the executable and argument names for mpirun, based on the type of install. The supported MPI programs
are: OpenMPI, Intel MPI, or MVAPICH.

Returns: Program name and arg names for hostfile, num processes, and processes per node
z\mpirun or mpiexec were not found. Ensure that Intel MPI, Open MPI, or MVAPICH are installed.z	--versions   Open MPIú
--hostfilez-nz
--npernodez	--bind-toz-fz-ppnÚ )ÚmpirunÚmpiexec)r   ÚlenÚOSErrorÚ
subprocessÚcheck_output)ÚxÚmpi_appsÚmpi_appÚmpirun_versions       r'   Ú_get_mpirun_argsr7   :   s‹   € ñ 1Ó=Ñ0�a´E¸!·H—�Ñ0€HÐ=ä
ˆ8ƒ}˜ÔÜÐtÓuÐuð �q�k€GÜ×,Ò,¨g°{Ð-CÓD€Nà�nÔ$Ø˜ d¨L¸+ÐEÐEð ˜˜d F¨BÐ.Ð.ùò >s
   …A6�A6c                óf   € V ^8„  d   QhR\         P                  R\        \        \        3,          /# )é   r    Úcurrent_env©ÚargparseÚ	NamespaceÚdictÚstr)Úformats   "r'   Ú__annotate__rA   R   s(   € ÷ ñ œ×*Ñ*ð ¼¼cÄ3¸h½ñ r)   c                ó†  € Rp\        V 4       F¯  pVP                  R4      '       g   K  \        W4      pVf   K-  VR8X  dT   \        V^ ,          4      WR,           &   \        V^,          4      WR,           &   \        V^,          4      WR,           &   K‡  \        \        W4      4      W VP	                  4        2&   K±  	  V# )z&
Setup the FP8 environment variables.
ÚACCELERATE_Úfp8_Úfp8_override_linear_precisionÚFP8_OVERRIDE_FPROPÚFP8_OVERRIDE_DGRADÚFP8_OVERRIDE_WGRAD)r   Ú
startswithÚgetattrr?   Úupper)r    r:   ÚprefixÚargr&   s   &&   r'   Úsetup_fp8_envrN   R   sª   € ð €FÜ�DŽzˆØ�>‰>˜&×!Ô!Ü˜DÓ&ˆEØÔ ØÐ9Ô9ÜADÀUÈ1ÅXÃ�KÐ)=Õ =Ñ>ÜADÀUÈ1ÅXÃ�KÐ)=Õ =Ñ>ÜADÀUÈ1ÅXÃ�KÐ)=Õ =Ó>ä<?ÄÈÓ@RÓ<S�K (¨3¯9©9«;¨-Ð 8Ó9ñ ð Ðr)   c                óž   € V ^8„  d   QhR\         P                  R\        \        \        ,          \
        \        \        3,          3,          /# ©r9   r    Úreturn©r<   r=   ÚtupleÚlistr?   r>   )r@   s   "r'   rA   rA   d   s?   € ÷ bñ b¬(×*<Ñ*<ð bÄÄtÌCÅyÔRVÔWZÔ\_ÐW_ÕR`ÐG`ÕAañ br)   c                óª
  € . pV P                   '       d   V P                  '       d   \        R4      h\        V RR4      pV P                  pV P
                  e„   \        4       w  rErgp\        V RR4      p	V'       d   V'       d   \        W#,          4      MRp
VVVV P
                  VV
.,          pV'       d   W\        V4      .,          pV'       d   WV	.,          pV P                   '       gC   VP                  \        P                  4       V P                  '       d   VP                  R4       VP                  V P                  4       VP                  V P                  4       \        P                  P!                  4       p\        V P"                  ;'       g    V P$                  4      VR&   V P&                  '       d   R	VR
&   V P(                  R8w  dþ   V P(                  eð   \+        4       '       d   V P(                  VR&   MÏ\-        4       '       d   V P(                  VR&   M¯\/        4       '       d   V P(                  VR&   M�\1        4       '       d   V P(                  VR&   Mo\3        4       '       d   V P(                  VR&   MO\5        4       '       d   V P(                  VR&   M/\7        4       '       d   V P(                  VR&   MV P(                  VR&   V^8”  d+   V P8                  f   Q R4       hV P:                  f   Q R4       hVe   V^8”  g   V^8”  dH   V P8                  e   V P8                  MRVR&   V P:                  e   \        V P:                  4      MRVR&   \=        VR,          4      '       d   RVR&   \        ^4      VR&    \?        V P@                  PC                  4       4      p\        T4      TR &   T P@                  PC                  4       R!8X  d'   \G        4       '       g   \I        R"4      h\K        Y4      p \M        T PN                  PQ                  4       4      pTPR                  TR$&   T PT                  TR%&   \        T PV                  4      TR&&   \        T PX                  4      TR'&   \        T PZ                  4      TR(&   \        T P\                  4      TR)&   T P^                  '       d   RTR*&   Y3#   \         d?    \        RT P@                  PC                  4        R\>        PD                  ! 4        R24      hi ; i  \         d?    \        R#T PN                  PQ                  4        R\L        PD                  ! 4        R24      hi ; i)+zr
Prepares and returns the command list and an environment with the correct simple launcher environment variables.
ú0--module and --no_python cannot be used togetherÚnum_processesNzbind-toÚsocketÚ1z-mÚACCELERATE_USE_CPUÚtrueÚACCELERATE_DEBUG_MODEÚallÚZE_AFFINITY_MASKÚMLU_VISIBLE_DEVICESÚSDAA_VISIBLE_DEVICESÚMUSA_VISIBLE_DEVICESÚASCEND_RT_VISIBLE_DEVICESÚHABANA_VISIBLE_MODULESÚNEURON_RT_VISIBLE_CORESÚCUDA_VISIBLE_DEVICESzFWhen using multiple machines, you need to specify the main process IP.zHWhen using multiple machines, you need to specify the main process port.z	127.0.0.1ÚMASTER_ADDRÚ29500ÚMASTER_PORTzgranularity=fine,compact,1,0ÚKMP_AFFINITYÚKMP_BLOCKTIMEúUnknown mixed_precision mode: ú. Choose between Ú.ÚACCELERATE_MIXED_PRECISIONÚfp8úrFP8 is not available on this machine. Please ensure that either Transformer Engine, MSAMP or torchao is installed.úUnknown dynamo backend: ÚACCELERATE_DYNAMO_BACKENDÚACCELERATE_DYNAMO_MODEÚACCELERATE_DYNAMO_USE_FULLGRAPHÚACCELERATE_DYNAMO_USE_DYNAMICÚ*ACCELERATE_DYNAMO_USE_REGIONAL_COMPILATIONÚOMP_NUM_THREADSÚACCELERATE_CPU_AFFINITY)0Ú	no_pythonÚmoduleÚ
ValueErrorrJ   Únum_machinesÚmpirun_hostfiler7   r?   ÚappendÚsysÚ
executableÚtraining_scriptÚextendÚtraining_script_argsÚosÚenvironÚcopyÚcpuÚuse_cpuÚdebugÚgpu_idsr   r   r   r   r   r
   r   Úmain_process_ipÚmain_process_portr   r   Úmixed_precisionÚlowerrT   r	   ÚRuntimeErrorrN   r   Údynamo_backendrK   r&   Údynamo_modeÚdynamo_use_fullgraphÚdynamo_use_dynamicÚdynamo_use_regional_compilationÚnum_cpu_threads_per_processÚenable_cpu_affinity)r    ÚcmdrW   r|   Úmpi_app_nameÚhostfile_argÚnum_proc_argÚproc_per_node_argÚbind_to_argÚbind_toÚnproc_per_noder:   r�   r�   s   &             r'   Úprepare_simple_launcher_cmd_envrŸ   d   s®  € ð €CØ‡~‡~€~˜$Ÿ+Ÿ+˜+ÜÐKÓLÐLä˜D /°4Ó8€MØ×$Ñ$€LØ×ÑÒ'ÜScÓSeÑPˆ LÀ[Ü˜$ 	¨8Ó4ˆß?L×Q]œ˜]Õ:Ô;ÐcfˆØØØØ× Ñ ØØð
õ 	
ˆ÷ Ø¤# mÓ"4Ð5Õ5ˆCßØ Ð)Õ)ˆCØ�>�>ˆ>Ø�
‰
”3—>‘>Ô"Ø�;�;ˆ;Ø�J‰J�tÔØ‡J�Jˆt×#Ñ#Ô$Ø‡J�Jˆt×(Ñ(Ô)ä—*‘*—/‘/Ó#€KÜ(+¨D¯H©H×,DÐ,D¸¿¹Ó(E€KÐ$Ñ%Ø‡z‡z€zØ/5ˆÐ+Ñ,Ø‡|�|�uÔ §¡Ò!9Ü×ÒØ.2¯l©lˆKÐ*Ò+Ü×ÒØ15·±ˆKÐ-Ò.Ü× Ò Ø26·,±,ˆKÐ.Ò/Ü× Ò Ø26·,±,ˆKÐ.Ò/Ü×ÒØ7;·|±|ˆKÐ3Ò4Ü×ÒØ48·L±LˆKÐ0Ò1Ü ×"Ò"Ø59·\±\ˆKÐ1Ò2à26·,±,ˆKÐ.Ñ/Ø�aÔØ×#Ñ#Ò/ð 	
ØTó	
Ð/ð ×%Ñ%Ò1ð 	
ØVó	
Ð1ð 	Ò! m°aÔ&7¸LÈ1Ô<LØ=A×=QÑ=QÒ=] T×%9Ò%9Ðcnˆ�MÑ"ØDH×DZÑDZÒDf¤S¨×)?Ñ)?Ô%@Ðlsˆ�MÑ"Ü�;Ð3Õ4×5Ò5Ø&Dˆ�NÑ#Ü'*¨1£vˆ�OÑ$ð
Ü'¨×(<Ñ(<×(BÑ(BÓ(DÓEˆô 14°OÓ0D€KÐ,Ñ-Ø×Ñ×!Ñ!Ó# uÔ,Ü×!Ò!Üð Eóð ô $ DÓ6ˆð
Ü& t×':Ñ':×'@Ñ'@Ó'BÓCˆð
 0>×/CÑ/C€KÐ+Ñ,Ø,0×,<Ñ,<€KÐ(Ñ)Ü58¸×9RÑ9RÓ5S€KÐ1Ñ2Ü36°t×7NÑ7NÓ3O€KÐ/Ñ0Ü@CÀD×DhÑDhÓ@i€KÐ<Ñ=ä%(¨×)IÑ)IÓ%J€KÐ!Ñ"Ø××ÐØ14ˆÐ-Ñ.ØÐÐøô9 ô 
ÜØ,¨T×-AÑ-A×-GÑ-GÓ-IÐ,JÐJ[Ô\i×\nÒ\nÓ\pÐ[qÐqrÐsó
ð 	
ð
ûô ô 
ÜØ& t×':Ñ':×'@Ñ'@Ó'BÐ&CÐCTÔUb×UgÒUgÓUiÐTjÐjkÐló
ð 	
ð
ús   Î#R= Ð#T	 Ò=A	TÔ	A	Uc                óf   € V ^8„  d   QhR\         P                  R\        \        \        3,          /# rP   r;   )r@   s   "r'   rA   rA   É   s,   € ÷ Gñ G¤× 2Ñ 2ð G´t¼CÄ¸Hµ~ñ Gr)   c                ó„  € V P                   ^ 8X  d   \        4       V n         MV P                   f   RV n         V P                  pV P                  pV P                  pV P                   pV^8”  d‚   \        W,          4      V n        \        V4      V n        \        V P                  4      V n
        \        V RR4      '       d"   \        V4      V n        \        V4      V n        M1V RV 2V n        M$\        V4      V n        Ve   \        V4      V n        V^8*  ;'       g    \        V P                  4      ^ 8H  pV'       dJ   \        V4      '       d9   V^8:  d#   RV n        \"        P$                  ! RV R24       M\'        R	V R
24      hV P(                  '       d   V P*                  '       d   \-        R4      hV P(                  '       d	   RV n        MV P*                  '       d   RV n        \.        P0                  P3                  4       pV P4                  '       d   RVR&   \        V RR4      pVR8w  d¦   V P6                  e˜   \9        4       '       d   WvR&   M‚\;        4       '       d   WvR&   Mm\=        4       '       d   WvR&   MX\?        4       '       d   WvR&   MC\A        4       '       d   WvR&   M.\C        4       '       d   WvR&   M\E        4       '       d   WvR&   MWvR&   V PF                  PI                  4       p \K        V4      p\        T4      TR&   T PF                  PI                  4       R8X  d'   \O        4       '       g   \Q        R4      h\S        Y4      p \U        T PV                  PY                  4       4      p	T	PZ                  TR&   T P\                  TR &   \        T P^                  4      TR!&   \        T P`                  4      TR"&   \        T Pb                  4      TR#&   T Pd                  '       Ed€   RTR$&   T Pf                  '       d   T Ph                  '       g   \-        R%4      h\k        T R&4      '       d   \        T Pl                  4      MR'TR(&   \        T Pn                  4      TR)&   \        T Pp                  4      PI                  4       TR*&   \        T Pr                  4      PI                  4       TR+&   \        T Pt                  4      TR,&   T Pv                  e   \        T Pv                  4      TR-&   T Px                  e   \        T Px                  4      TR.&   T Pz                  e   \        T Pz                  4      TR/&   T P|                  e   \        T P|                  4      TR0&   \        T P~                  4      PI                  4       TR1&   \        T P€                  4      PI                  4       TR2&   \        T Pf                  4      PI                  4       TR3&   \        T Ph                  4      PI                  4       TR4&   \        T P‚                  4      PI                  4       TR5&   \        T P„                  4      PI                  4       TR6&   \        T R7R4      e   \        T P†                  4      TR8&   T Pˆ                  '       Edt   R9p
RTR:&   \        T PŠ                  4      YjR;,           &   \        T PŒ                  4      YjR<,           &   T PŽ                  e   \        T PŽ                  4      YjR=,           &   T P�                  e   \        T P�                  4      YjR>,           &   T P’                  e   \        T P’                  4      YjR?,           &   T P”                  e   \        T P”                  4      YjR@,           &   T P–                  e   \        T P–                  4      YjRA,           &   T P˜                  e   \        T P˜                  4      YjRB,           &   T Pš                  e   \        T Pš                  4      YjRC,           &   \        T Pœ                  4      YjRD,           &   \        T Pž                  4      YjRE,           &   T P                   e   \        T P                   4      YjRF,           &   T P¢                  e   \        T P¢                  4      YjRG,           &   T P¤                  e   \        T P¤                  4      YjRH,           &   T P¦                  e   \        T P¦                  4      YjRI,           &   T P¨                  e   \        T P¨                  4      YjRJ,           &   T Pª                  e   \        T Pª                  4      YjRK,           &   T P¬                  e   \        T P¬                  4      YjRL,           &   T P®                  e   \        T P®                  4      YjRM,           &   T P°                  e   \        T P°                  4      YjRN,           &   T P²                  e   \        T P²                  4      YjRO,           &   T P´                  e   \        T P´                  4      YjRP,           &   T P¶                  e   \        T P¶                  4      YjRQ,           &   T P¸                  e   \        T P¸                  4      YjRR,           &   T Pº                  e   \        T Pº                  4      YjRS,           &   T P¼                  e   \        T P¼                  4      YjRT,           &   T P¾                  e   \        T P¾                  4      YjRU,           &   \        T PÀ                  4      TRV&   T PÂ                  '       d   R'TRW&   T PÄ                  '       d   \Ç        Y4      pT#   \,         d'    \-        RT R\J        PL                  ! 4        R24      hi ; i  \,         d?    \-        RT PV                  PY                  4        R\T        PL                  ! 4        R24      hi ; i)XzW
Prepares and returns an environment with the correct multi-GPU environment variables.
Né<s  Úsame_networkFÚ:TúPort `á…  ` is already in use. Accelerate will attempt to launch in a standalone-like mode by finding an open port automatically for this session. If this current attempt fails, or for more control in future runs, please specify a different port (e.g., `--main_process_port <your_chosen_port>`) or use `--main_process_port 0` for automatic selection in your launch command or Accelerate config file.ú3Tried to launch distributed communication on port `á$  `, but another process is utilizing it. Please specify a different port (such as using the `--main_process_port` flag or specifying a different `main_process_port` in your config file) and rerun your script. To automatically use the next open port (on a single node), you can set this to `0`.rV   r[   r\   rŠ   r]   r^   r_   r`   ra   rb   rc   rd   re   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   ÚACCELERATE_USE_FSDPzWWhen using `--fsdp_cpu_ram_efficient_loading` set `--fsdp_sync_module_states` to `True`Úfsdp_versionrY   ÚFSDP_VERSIONÚFSDP_SHARDING_STRATEGYÚFSDP_RESHARD_AFTER_FORWARDÚFSDP_OFFLOAD_PARAMSÚFSDP_MIN_NUM_PARAMSÚFSDP_AUTO_WRAP_POLICYÚFSDP_TRANSFORMER_CLS_TO_WRAPÚFSDP_BACKWARD_PREFETCHÚFSDP_STATE_DICT_TYPEÚFSDP_FORWARD_PREFETCHÚFSDP_USE_ORIG_PARAMSÚFSDP_CPU_RAM_EFFICIENT_LOADINGÚFSDP_SYNC_MODULE_STATESÚFSDP_ACTIVATION_CHECKPOINTINGÚ%FSDP_ACTIVATION_CHECKPOINTING_OFFLOADÚfsdp_ignored_modulesÚFSDP_IGNORED_MODULESÚMEGATRON_LM_ÚACCELERATE_USE_MEGATRON_LMÚ	TP_DEGREEÚUSE_CUSTOM_FSDPÚNO_LOAD_OPTIMÚEOD_MASK_LOSSÚNO_SAVE_OPTIMÚOPTIMIZER_CPU_OFFLOADÚUSE_PRECISION_AWARE_OPTIMIZERÚOVERLAP_CPU_OPTIMIZER_D2H_H2DÚ DECODER_LAST_PIPELINE_NUM_LAYERSÚ	PP_DEGREEÚGRADIENT_CLIPPINGÚNUM_MICRO_BATCHESÚSEQUENCE_PARALLELISMÚRECOMPUTE_ACTIVATIONSÚUSE_DISTRIBUTED_OPTIMIZERÚRECOMPUTE_GRANULARITYÚRECOMPUTE_METHODÚRECOMPUTE_NUM_LAYERSÚATTENTION_BACKENDÚEXPERT_MODEL_PARALLEL_SIZEÚCONTEXT_PARALLEL_SIZEÚATTENTION_DROPOUTÚHIDDEN_DROPOUTÚATTENTION_SOFTMAX_IN_FP32ÚEXPERT_TENSOR_PARALLEL_SIZEÚCALCULATE_PER_TOKEN_LOSSÚUSE_ROTARY_POSITION_EMBEDDINGSrw   rx   )drŒ   r   rW   r|   r‹   r?   rž   ÚnnodesÚintÚmachine_rankÚ	node_rankrJ   Úmaster_addrÚmaster_portÚrdzv_endpointr   Ú
standaloneÚwarningsÚwarnÚConnectionErrorrz   ry   r{   r„   r…   r†   r‰   rŠ   r   r   r   r   r   r
   r   r�   rŽ   r   rT   r	   r�   rN   r   r�   rK   r&   r‘   r’   r“   r”   Úuse_fsdpÚfsdp_cpu_ram_efficient_loadingÚfsdp_sync_module_statesÚhasattrrª   Úfsdp_sharding_strategyÚfsdp_reshard_after_forwardÚfsdp_offload_paramsÚfsdp_min_num_paramsÚfsdp_auto_wrap_policyÚ"fsdp_transformer_layer_cls_to_wrapÚfsdp_backward_prefetchÚfsdp_state_dict_typeÚfsdp_forward_prefetchÚfsdp_use_orig_paramsÚfsdp_activation_checkpointingÚ%fsdp_activation_checkpointing_offloadrº   Úuse_megatron_lmÚmegatron_lm_tp_degreeÚmegatron_lm_use_custom_fsdpÚmegatron_lm_no_load_optimÚmegatron_lm_eod_mask_lossÚmegatron_lm_no_save_optimÚ!megatron_lm_optimizer_cpu_offloadÚ)megatron_lm_use_precision_aware_optimizerÚ)megatron_lm_overlap_cpu_optimizer_d2h_h2dÚ,megatron_lm_decoder_last_pipeline_num_layersÚmegatron_lm_pp_degreeÚmegatron_lm_gradient_clippingÚmegatron_lm_num_micro_batchesÚ megatron_lm_sequence_parallelismÚ!megatron_lm_recompute_activationsÚ%megatron_lm_use_distributed_optimizerÚ!megatron_lm_recompute_granularityÚmegatron_lm_recompute_methodÚ megatron_lm_recompute_num_layersÚmegatron_lm_attention_backendÚ&megatron_lm_expert_model_parallel_sizeÚ!megatron_lm_context_parallel_sizeÚmegatron_lm_attention_dropoutÚmegatron_lm_hidden_dropoutÚ%megatron_lm_attention_softmax_in_fp32Ú'megatron_lm_expert_tensor_parallel_sizeÚ$megatron_lm_calculate_per_token_lossÚ*megatron_lm_use_rotary_position_embeddingsr•   r–   Úuse_parallelism_configÚ%prepare_extend_env_parallelism_config)r    rW   r|   r‹   rŒ   Úneed_port_checkr:   rŠ   r�   r�   rL   s   &          r'   Úprepare_multi_gpu_envr  É   sX
  € ð
 ×Ñ Ô"Ü!.£ˆÕà	×	Ñ	Ò	'Ø!&ˆÔà×&Ñ&€MØ×$Ñ$€LØ×*Ñ*€OØ×.Ñ.ÐØ�aÔÜ! -Õ"?Ó@ˆÔÜ˜,Ó'ˆŒÜ˜T×.Ñ.Ó/ˆŒÜ�4˜¨×/Ò/Ü" ?Ó3ˆDÔÜ"Ð#4Ó5ˆDÕà$3Ð#4°AÐ6GÐ5HÐ!IˆDÕä! -Ó0ˆÔØÒ(Ü"Ð#4Ó5ˆDÔð # aÑ'×FÐF¬3¨t×/@Ñ/@Ó+AÀQÑ+F€Oßœ>Ð*;×<Ò<Ø˜1ÔØ"ˆDŒOÜ�MŠMØÐ*Ð+ð ,Dð Dõô "ØEÐFWÐEXð Yð óð ð ‡{‡{€{�t—~—~�~ÜÐKÓLÐLØ	��ˆØˆ�Ø	��ˆØˆŒä—*‘*—/‘/Ó#€KØ‡z‡z€zØ/5ˆÐ+Ñ,Ü�d˜I uÓ-€GØ�%Ô˜DŸL™LÒ4Ü×ÒØ.5Ð*Ò+Ü×ÒØ18Ð-Ò.Ü× Ò Ø29Ð.Ò/Ü× Ò Ø29Ð.Ò/Ü×ÒØ7>Ð3Ò4Ü×ÒØ4;Ð0Ò1Ü ×"Ò"Ø5<Ð1Ò2à29Ð.Ñ/Ø×*Ñ*×0Ñ0Ó2€OðuÜ'¨Ó8ˆô 14°OÓ0D€KÐ,Ñ-Ø×Ñ×!Ñ!Ó# uÔ,Ü×!Ò!Üð Eóð ô $ DÓ6ˆð
Ü& t×':Ñ':×'@Ñ'@Ó'BÓCˆð
 0>×/CÑ/C€KÐ+Ñ,Ø,0×,<Ñ,<€KÐ(Ñ)Ü58¸×9RÑ9RÓ5S€KÐ1Ñ2Ü36°t×7NÑ7NÓ3O€KÐ/Ñ0Ü@CÀD×DhÑDhÓ@i€KÐ<Ñ=à‡}‡}�}Ø-3ˆÐ)Ñ*Ø×.×.Ð.°t×7S×7SÐ7SÜÐvÓwÐwä@GÈÈn×@]Ò@]¤c¨$×*;Ñ*;Ô&<Ðcfˆ�NÑ#ô 14°D×4OÑ4OÓ0PˆÐ,Ñ-ä47¸×8WÑ8WÓ4X×4^Ñ4^Ó4`ˆÐ0Ñ1Ü-0°×1IÑ1IÓ-J×-PÑ-PÓ-RˆÐ)Ñ*Ü-0°×1IÑ1IÓ-JˆÐ)Ñ*Ø×%Ñ%Ò1Ü36°t×7QÑ7QÓ3RˆKÐ/Ñ0Ø×2Ñ2Ò>Ü:=¸d×>eÑ>eÓ:fˆKÐ6Ñ7Ø×&Ñ&Ò2Ü47¸×8SÑ8SÓ4TˆKÐ0Ñ1Ø×$Ñ$Ò0Ü25°d×6OÑ6OÓ2PˆKÐ.Ñ/Ü/2°4×3MÑ3MÓ/N×/TÑ/TÓ/VˆÐ+Ñ,Ü.1°$×2KÑ2KÓ.L×.RÑ.RÓ.TˆÐ*Ñ+Ü8;¸D×<_Ñ<_Ó8`×8fÑ8fÓ8hˆÐ4Ñ5Ü14°T×5QÑ5QÓ1R×1XÑ1XÓ1ZˆÐ-Ñ.Ü7:¸4×;]Ñ;]Ó7^×7dÑ7dÓ7fˆÐ3Ñ4Ü?BÀ4×CmÑCmÓ?n×?tÑ?tÓ?vˆÐ;Ñ<Ü�4Ð/°Ó6ÒBÜ25°d×6OÑ6OÓ2PˆKÐ.Ñ/à××ÑØˆØ4:ˆÐ0Ñ1Ü,/°×0JÑ0JÓ,Kˆ˜[Õ(Ñ)Ü25°d×6VÑ6VÓ2WˆÐ.Õ.Ñ/Ø×)Ñ)Ò5Ü47¸×8VÑ8VÓ4WˆK Õ0Ñ1Ø×)Ñ)Ò5Ü47¸×8VÑ8VÓ4WˆK Õ0Ñ1Ø×)Ñ)Ò5Ü47¸×8VÑ8VÓ4WˆK Õ0Ñ1Ø×1Ñ1Ò=Ü<?À×@fÑ@fÓ<gˆKÐ!8Õ8Ñ9Ø×9Ñ9ÒEÜDGÈ×HvÑHvÓDwˆKÐ!@Õ@ÑAØ×9Ñ9ÒEÜDGÈ×HvÑHvÓDwˆKÐ!@Õ@ÑAØ×<Ñ<ÒHÜGJØ×AÑAóHˆKÐ!CÕCÑDô -0°×0JÑ0JÓ,Kˆ˜[Õ(Ñ)Ü47¸×8ZÑ8ZÓ4[ˆÐ0Õ0Ñ1Ø×-Ñ-Ò9Ü8;¸D×<^Ñ<^Ó8_ˆKÐ!4Õ4Ñ5Ø×0Ñ0Ò<Ü;>¸t×?dÑ?dÓ;eˆKÐ!7Õ7Ñ8Ø×1Ñ1Ò=Ü<?À×@fÑ@fÓ<gˆKÐ!8Õ8Ñ9Ø×5Ñ5ÒAÜ@CÀD×DnÑDnÓ@oˆKÐ!<Õ<Ñ=Ø×1Ñ1Ò=Ü<?À×@fÑ@fÓ<gˆKÐ!8Õ8Ñ9Ø×,Ñ,Ò8Ü7:¸4×;\Ñ;\Ó7]ˆKÐ!3Õ3Ñ4Ø×0Ñ0Ò<Ü;>¸t×?dÑ?dÓ;eˆKÐ!7Õ7Ñ8Ø×-Ñ-Ò9Ü8;¸D×<^Ñ<^Ó8_ˆKÐ!4Õ4Ñ5Ø×6Ñ6ÒBÜADÀT×EpÑEpÓAqˆKÐ!=Õ=Ñ>Ø×1Ñ1Ò=Ü<?À×@fÑ@fÓ<gˆKÐ!8Õ8Ñ9Ø×-Ñ-Ò9Ü8;¸D×<^Ñ<^Ó8_ˆKÐ!4Õ4Ñ5Ø×*Ñ*Ò6Ü58¸×9XÑ9XÓ5YˆKÐ!1Õ1Ñ2Ø×5Ñ5ÒAÜ@CÀD×DnÑDnÓ@oˆKÐ!<Õ<Ñ=Ø×7Ñ7ÒCÜBEÀd×FrÑFrÓBsˆKÐ!>Õ>Ñ?Ø×4Ñ4Ò@Ü?BÀ4×ClÑClÓ?mˆKÐ!;Õ;Ñ<Ø×:Ñ:ÒFÜEHØ×?Ñ?óFˆKÐ!AÕAÑBô &)¨×)IÑ)IÓ%J€KÐ!Ñ"Ø××ÐØ14ˆÐ-Ñ.à×"×"Ð"Ü;¸DÓNˆàÐøôo ô uÜÐ9¸/Ð9JÐJ[Ô\i×\nÒ\nÓ\pÐ[qÐqrÐsÓtÐtðuûô ô 
ÜØ& t×':Ñ':×'@Ñ'@Ó'BÐ&CÐCTÔUb×UgÒUgÓUiÐTjÐjkÐló
ð 	
ð
ús   Ë4m Í#m6 í1m3í6A	n?c          
      óª   € V ^8„  d   QhR\         P                  R\        R\        \        \
        ,          \        \
        \
        3,          3,          /# )r9   r    r:   rQ   )r<   r=   r>   rS   rT   r?   )r@   s   "r'   rA   rA   “  s@   € ÷ ñ Ü
×
Ñ
ðÜ+/ðä
Œ4”�9”dœ3¤˜8•nÐ$Õ%ñr)   c                óì  € RpRVR&   \        V P                  4      WR,           &   \        V P                  4      WR,           &   \        V P                  4      WR,           &   \        V P                  4      WR,           &   \        V P
                  4      WR,           &   \        V P                  4      WR	,           &   \        V P                  4      WR
,           &   V P                  ^8”  d   \        V P                  4      WR,           &   V P                  ^8”  d[   \        V P                  4      WR,           &   \        V P                  4      WR,           &   \        V P                  4      WR,           &   V# )zN
Extends `current_env` with context parallelism env vars if any have been set
ÚPARALLELISM_CONFIG_r[   Ú!ACCELERATE_USE_PARALLELISM_CONFIGÚDP_REPLICATE_SIZEÚDP_SHARD_SIZEÚTP_SIZEÚCP_SIZEÚ
CP_BACKENDÚSP_SIZEÚ
SP_BACKENDÚCP_COMM_STRATEGYÚSP_SEQ_LENGTHÚSP_SEQ_LENGTH_IS_VARIABLEÚSP_ATTN_IMPLEMENTATION)r?   Ú$parallelism_config_dp_replicate_sizeÚ parallelism_config_dp_shard_sizeÚparallelism_config_tp_sizeÚparallelism_config_cp_sizeÚparallelism_config_cp_backendÚparallelism_config_sp_sizeÚparallelism_config_sp_backendÚ#parallelism_config_cp_comm_strategyÚ parallelism_config_sp_seq_lengthÚ,parallelism_config_sp_seq_length_is_variableÚ)parallelism_config_sp_attn_implementation)r    r:   rL   s   && r'   r  r  “  sB  € ð #€Fà7=€KÐ3Ñ4Ü03°D×4]Ñ4]Ó0^€KÐ,Õ,Ñ-Ü,/°×0UÑ0UÓ,V€K˜Õ(Ñ)Ü&)¨$×*IÑ*IÓ&J€K˜Õ"Ñ#Ü&)¨$×*IÑ*IÓ&J€K˜Õ"Ñ#Ü),¨T×-OÑ-OÓ)P€K˜Õ%Ñ&Ü&)¨$×*IÑ*IÓ&J€K˜Õ"Ñ#Ü),¨T×-OÑ-OÓ)P€K˜Õ%Ñ&Ø×&Ñ&¨Ô*Ü36°t×7_Ñ7_Ó3`ˆÐ/Õ/Ñ0Ø×&Ñ&¨Ô*Ü03°D×4YÑ4YÓ0Zˆ˜_Õ,Ñ-Ü<?À×@qÑ@qÓ<rˆÐ8Õ8Ñ9Ü9<¸T×=kÑ=kÓ9lˆÐ5Õ5Ñ6àÐr)   c                óž   € V ^8„  d   QhR\         P                  R\        \        \        ,          \
        \        \        3,          3,          /# rP   rR   )r@   s   "r'   rA   rA   ®  s=   € ÷ añ a¤H×$6Ñ$6ð a¼5ÄÄcÅÌDÔQTÔVYÐQYÍNÐAZÕ;[ñ ar)   c                ó¼  € V P                   ^ 8X  d   \        4       V n         MV P                   f   RV n         V P                  pV P                  pV P                  pV P                   pRpV P
                  f   \        ^ ,          V n        V^8”  EdS   V P
                  \        ^,          8w  Ed6   R.pVP                  R\        V P                  4      .4       V P
                  R8X  dG   \        RRR4      '       d   \        R4      hVP                  R	\        V P                  4      R
.4       M'VP                  RR\        V P
                  4      .4       V P                  e(   VP                  R\        V P                  4      .4       MlV P                  e(   VP                  R\        V P                  4      .4       M7VP                  R\        V P                  V P                  ,          4      .4       V'       d   VP                  R\        V4      .4       VP                  R\        V4      .4       V P                  '       d   V P                   '       d   \        R4      hV P                  '       d   VP#                  R4       M#V P                   '       d   VP#                  R4       VP#                  V P$                  4       VP                  V P&                  4       MÈV^8”  dž   V P
                  \        ^,          8X  d‚   \        W,          4      V n        \        V4      V n        \-        V P                  4      V n        \1        V RR4      '       d"   \        V4      V n        \        V4      V n        M1V RV 2V n        M$\        V4      V n        Ve   \        V4      V n        V^8*  ;'       g    \-        V P                  4      ^ 8H  pV'       dJ   \9        V4      '       d9   V^8:  d#   RV n        \<        P>                  ! RV R24       M\A        RV R24      hV P                  '       d   V P                   '       d   \        R4      hV P                  '       d	   RV n        MV P                   '       d   RV n        \B        PD                  PG                  4       pV PH                  '       d   RVR&   \1        V RR 4      pVR 8w  d¦   V PJ                  e˜   \M        4       '       d   W‡R!&   M‚\O        4       '       d   W‡R"&   Mm\Q        4       '       d   W‡R#&   MX\S        4       '       d   W‡R$&   MC\U        4       '       d   W‡R%&   M.\W        4       '       d   W‡R&&   M\Y        4       '       d   W‡R'&   MW‡R(&    \[        V P\                  P_                  4       4      p	\c        R,\B        Pd                  Pg                  R+4      4      TR,&   \        T	4      TR-&   T P\                  P_                  4       R.8X  d'   \i        4       '       g   \k        R/4      h\m        Y4      p\        T Pn                  4      P_                  4       TR0&   RTR1&   T Pp                  e   \        T Pp                  4      TR2&   T Pr                  e   \        T Pr                  4      TR3&   T Pt                  e'   \        T Pt                  4      P_                  4       TR4&   T Pv                  e'   \        T Pv                  4      P_                  4       TR5&   T Px                  e'   \        T Px                  4      P_                  4       TR6&   T Pz                  e'   \        T Pz                  4      P_                  4       TR7&   T P|                  e'   \        T P|                  4      P_                  4       TR8&   T P~                  e   \        T P~                  4      TR9&   T P€                  '       d   R:TR;&   T P‚                  e   \        T P‚                  4      TR<&   T P„                  '       d   \‡        Y4      pYW3#   \         d?    \        R)T P\                  P_                  4        R*\Z        P`                  ! 4        R+24      hi ; i)=zl
Prepares and returns the command list and an environment with the correct DeepSpeed environment variables.
Nr¢   Ú	deepspeedr+   ÚnosshÚ<z0.14.5z+nossh launcher requires DeepSpeed >= 0.14.5z--node_rankz--no_sshz--no_local_rankz
--launcherz	--excludez	--includez
--num_gpusz--master_addrz--master_portrV   z--modulez--no_pythonr£   Fr¤   Tr¥   r¦   r§   r¨   r[   r\   rŠ   r]   r^   r_   r`   ra   rb   rc   rd   re   rk   rl   rm   Ú
PYTHONPATHrn   ro   rp   ÚACCELERATE_CONFIG_DS_FIELDSÚACCELERATE_USE_DEEPSPEEDÚACCELERATE_DEEPSPEED_ZERO_STAGEÚ&ACCELERATE_GRADIENT_ACCUMULATION_STEPSÚACCELERATE_GRADIENT_CLIPPINGÚ-ACCELERATE_DEEPSPEED_OFFLOAD_OPTIMIZER_DEVICEÚ)ACCELERATE_DEEPSPEED_OFFLOAD_PARAM_DEVICEÚACCELERATE_DEEPSPEED_ZERO3_INITÚ+ACCELERATE_DEEPSPEED_ZERO3_SAVE_16BIT_MODELÚ ACCELERATE_DEEPSPEED_CONFIG_FILErY   rx   Ú(ACCELERATE_DEEPSPEED_MOE_LAYER_CLS_NAMES)DrŒ   r   rW   r|   r‹   Údeepspeed_multinode_launcherr   r‚   r?   Údeepspeed_hostfiler   r{   rÛ   Údeepspeed_exclusion_filterÚdeepspeed_inclusion_filterrz   ry   r~   r�   rƒ   rž   rÙ   rÚ   rÜ   rJ   rÝ   rÞ   rß   r   rà   rá   râ   rã   r„   r…   r†   r‰   rŠ   r   r   r   r   r   r
   r   r   r�   rŽ   rT   Úenv_var_path_addÚpathÚabspathr	   r�   rN   Ú'deepspeed_fields_from_accelerate_configÚ
zero_stageÚgradient_accumulation_stepsÚgradient_clippingÚoffload_optimizer_deviceÚoffload_param_deviceÚzero3_init_flagÚzero3_save_16bit_modelÚdeepspeed_config_filer–   Údeepspeed_moe_layer_cls_namesr  r  )
r    rW   r|   r‹   rŒ   r—   r  r:   rŠ   r�   s
   &         r'   Úprepare_deepspeed_cmd_envrP  ®  s  € ð
 ×Ñ Ô"Ü!.£ˆÕà	×	Ñ	Ò	'Ø!&ˆÔà×&Ñ&€MØ×$Ñ$€LØ×*Ñ*€OØ×.Ñ.ÐØ
€Cð ×(Ñ(Ò0ä,IÈ!Õ,LˆÔ)à�aÕ˜D×=Ñ=ÔA^Ð_`ÕAaÕaØˆmˆØ�
‰
�L¤# d×&=Ñ&=Ó">Ð?Ô@Ø×,Ñ,°Ô7Ü ¨S°(×;Ò;Ü Ð!NÓOÐOØ�J‰J˜¤s¨4×+<Ñ+<Ó'=¸zÐJÕKà�J‰JÐ)¨<¼¸T×=^Ñ=^Ó9_Ð`ÔaØ×*Ñ*Ò6Ø�J‰JàÜ˜×7Ñ7Ó8ðõð ×,Ñ,Ò8Ø�J‰JàÜ˜×7Ñ7Ó8ðõð �J‰J˜¤c¨$×*<Ñ*<À×@QÑ@QÕ*QÓ&RÐSÔTßØ�J‰J˜¬¨_Ó)=Ð>Ô?Ø�
‰
�O¤SÐ):Ó%;Ð<Ô=Ø�;�;ˆ;˜4Ÿ>Ÿ>˜>ÜÐOÓPÐPØ�[�[ˆ[Ø�J‰J�zÕ"Ø�^�^ˆ^Ø�J‰J�}Ô%Ø�
‰
�4×'Ñ'Ô(Ø�
‰
�4×,Ñ,Õ-Ø	˜Ô	˜d×?Ñ?ÔC`ÐabÕCcÔcÜ! -Õ"?Ó@ˆÔÜ˜,Ó'ˆŒÜ˜T×.Ñ.Ó/ˆŒÜ�4˜¨×/Ò/Ü" ?Ó3ˆDÔÜ"Ð#4Ó5ˆDÕà$3Ð#4°AÐ6GÐ5HÐ!IˆDÕä! -Ó0ˆÔØÒ(Ü"Ð#4Ó5ˆDÔð # aÑ'×FÐF¬3¨t×/@Ñ/@Ó+AÀQÑ+F€Oßœ>Ð*;×<Ò<Ø˜1ÔØ"ˆDŒOÜ�MŠMØÐ*Ð+ð ,Dð Dõô "ØEÐFWÐEXð Yð óð ð ‡{‡{€{�t—~—~�~ÜÐKÓLÐLØ	��ˆØˆ�Ø	��ˆØˆŒä—*‘*—/‘/Ó#€KØ‡z‡z€zØ/5ˆÐ+Ñ,Ü�d˜I uÓ-€GØ�%Ô˜DŸL™LÒ4Ü×ÒØ.5Ð*Ò+Ü×ÒØ18Ð-Ò.Ü× Ò Ø29Ð.Ò/Ü× Ò Ø29Ð.Ò/Ü×ÒØ7>Ð3Ò4Ü×ÒØ4;Ð0Ò1Ü ×"Ò"Ø5<Ð1Ò2à29Ð.Ñ/ð
Ü'¨×(<Ñ(<×(BÑ(BÓ(DÓEˆô !1°¼r¿w¹w¿¹ÈsÓ?SÓ T€K�ÑÜ03°OÓ0D€KÐ,Ñ-Ø×Ñ×!Ñ!Ó# uÔ,Ü×!Ò!Üð Eóð ô $ DÓ6ˆÜ14°T×5aÑ5aÓ1b×1hÑ1hÓ1j€KÐ-Ñ.Ø.4€KÐ*Ñ+Ø‡�Ò"Ü9<¸T¿_¹_Ó9MˆÐ5Ñ6Ø×'Ñ'Ò3Ü@CÀD×DdÑDdÓ@eˆÐ<Ñ=Ø×ÑÒ)Ü69¸$×:PÑ:PÓ6Q×6WÑ6WÓ6YˆÐ2Ñ3Ø×$Ñ$Ò0ÜGJÈ4×KhÑKhÓGi×GoÑGoÓGqˆÐCÑDØ× Ñ Ò,ÜCFÀt×G`ÑG`ÓCa×CgÑCgÓCiˆÐ?Ñ@Ø×ÑÒ'Ü9<¸T×=QÑ=QÓ9R×9XÑ9XÓ9ZˆÐ5Ñ6Ø×"Ñ"Ò.ÜEHÈ×IdÑIdÓEe×EkÑEkÓEmˆÐAÑBØ×!Ñ!Ò-Ü:=¸d×>XÑ>XÓ:YˆÐ6Ñ7Ø××ÐØ14ˆÐ-Ñ.Ø×)Ñ)Ò5ÜBEÀd×FhÑFhÓBiˆÐ>Ñ?à×"×"Ð"Ü;¸DÓNˆàÐÐøôO ô 
ÜØ,¨T×-AÑ-A×-GÑ-GÓ-IÐ,JÐJ[Ô\i×\nÒ\nÓ\pÐ[qÐqrÐsó
ð 	
ð
ús   Õ2#` àA	ac                óÖ   € V ^8„  d   QhR\         P                  R\        \        \        3,          R\        R\
        \         P                  \        \        \        3,          3,          /# )r9   r    r:   ÚpodrQ   )r<   r=   r>   r?   ÚboolrS   )r@   s   "r'   rA   rA   R  sR   € ÷ ñ Ü
×
Ñ
ðÜ+/´´S°­>ðÜ@Dðä
Œ8×Ñœt¤C¬ H�~Ð-Õ.ñr)   c                ó
  € V P                   R8X  d0   \        RR7      '       d   V P                  '       d   RVR&   MRVR&   V P                  '       d   RVR&   V'       d#   V P                  V n        V P                  V n        W3# )	zQ
Prepares and returns an environment with the correct TPU environment variables.
Úbf16T)Úcheck_is_tpurY   ÚXLA_DOWNCAST_BF16ÚXLA_USE_BF16r[   r\   )r�   r   Údowncast_bf16r‰   Útpu_vmÚvmÚtpu_nameÚtpu)r    r:   rR  s   &&&r'   Úprepare_tpur^  R  st   € ð ×Ñ˜vÔ%Ô*@Èd×*SÓ*SØ××ÐØ/2ˆKÐ+Ò,à*-ˆK˜Ñ'Ø‡z‡z€zØ/5ˆÐ+Ñ,ß
à—+‘+ˆŒØ—=‘=ˆŒØÐÐr)   c                óh   € V ^8„  d   QhR\         \        ,          R\        \        \        3,          /# )r9   ÚnargsrQ   )rT   r?   r>   )r@   s   "r'   rA   rA   f  s&   € ÷ 'ñ '¤$¤s¥)ð '´´S¼#°Xµñ 'r)   c                 ó|  € \        V 4      ^ 8  d   / # R p\        P                  ! 4       pVP                  V 4      w  r4\	        V4       Fœ  w  rVVP                  R4      '       g   K  RpV^,           \        V4      8  d1   WE^,           ,          P                  R4      '       d   \        R4      hM\        R4      hVf   VP                  WaR7       KŠ  VP                  WgR7       Kž  	  VP                  V 4      P                  P                  4        UU	u/ uF  w  r‰Y‰R9   d   \        V	4      MT	bK  	  up	p# u up	pi )r   c                 óv   €  \        V 4      p V ^,          V 8X  d   \        V 4      # V #   \         d    T u # i ; i)é   )ÚfloatrÚ   r{   )Úss   &r'   Ú_infer_typeÚ+_convert_nargs_to_dict.<locals>._infer_typek  s=   € ð	Ü�a“ˆAà�A�v˜Œ{Ü˜1“v�ØˆHøÜô 	ØŠHð	ús   ‚#( ¦( ¨8·8Nul   SageMaker doesnâ€™t support argparse actions for `store_true` or `store_false`. Please define explicit types)Útype)Úaction)Ú-z--)ÚTrueÚFalse)r/   r<   ÚArgumentParserr   Ú	enumeraterI   r{   Úadd_argumentÚ
parse_argsÚ__dict__r   r   )
r`  rf  r!   r$   ÚunknownÚindexÚargumentri  r%   r&   s
   &         r'   Ú_convert_nargs_to_dictru  f  s3  € Ü
ˆ5ƒz�A„~Øˆ	òô ×$Ò$Ó&€FØ×(Ñ(¨Ó/�J€AÜ$ WÖ-‰ˆØ×Ñ˜{×+Ô+ØˆFØ�q�yœ3˜w›<Ô'Ø 1�9Õ%×0Ñ0°×=Ò=ä$ð Góð ð >ô !ð Cóð ð Š~Ø×#Ñ# HÐ#Ö?à×#Ñ# HÐ#Ö<ñ# .ð* !×+Ñ+¨EÓ2×;Ñ;×AÑAÔCôáC‰JˆCð 	Ð.?Ô%?Œl˜5Ô!ÀUÒJÙCòð ùó s   ÄD8c          
      ó¨   € V ^8„  d   QhR\         R\        P                  R\        \        P                  \        \
        \        3,          3,          /# )r9   Úsagemaker_configr    rQ   )r   r<   r=   rS   r>   r?   r   )r@   s   "r'   rA   rA   �  sG   € ÷ s"ñ s"Ü%ðs"Ü-5×-?Ñ-?ðs"ä
Œ8×Ñœt¤C¬ H�~Ð-Õ.ñs"r)   c                 ó´
  € \        R 4       V P                  \        P                  R&   V P                  e   V P                  \        P                  R&   MbVP
                  eJ   VP                  e<   VP
                  \        P                  R&   VP                  \        P                  R&   M\        R4      h\        P                  P                  VP                  4      pV'       g   Rp\        P                  P                  VP                  4      pVP                  R4      '       g   \        R	V R
24      h\        R4       \        VP                  4      p \!        VP"                  P%                  4       4      p \)        TP*                  P-                  4       4      pRRR\/        T4      RTP0                  RTP2                  R\/        TP4                  4      R\/        TP6                  4      R\/        TP8                  4      RT P:                  P0                  /pTP"                  P%                  4       R8X  d'   \=        4       '       g   \?        R4      h\A        Y4      pRpT P:                  \B        PD                  8X  d	   RRRR///pRp	T PF                  ež   \        RT PF                   R24       / p	\I        T PF                  4      ;_uu_ 4       p
\K        T
4       F?  w  r¼T^ 8X  d   K  TPM                  R 4      pT^,          PO                  4       Y�^ ,          &   KA  	  RRR4       \        R!T	 24       RpT PP                  e±   \        R"T PP                   R24       . p\I        T PP                  4      ;_uu_ 4       p
\K        T
4       FR  w  r¼T^ 8X  d   K  TPM                  R 4      pR#T^ ,          R$T^,          PO                  4       /pTPS                  T4       KT  	  RRR4       \        R%T 24       \        R&4       R'T PT                  R(TR)TR*T PV                  R+T PX                  R,T PZ                  R-T P\                  R.T P^                  R/T P`                  R0T Pb                  R1R2R3TR4TR5TR6T/pT Pd                  e   \g        T Pd                  T4      pY3#   \         d?    \        RTP"                  P%                  4        R\         P&                  ! 4        R24      hi ; i  \         d?    \        RTP*                  P-                  4        R\(        P&                  ! 4        R24      hi ; i  + '       g   i     EL; i  + '       g   i     ELm; i)7z(Configuring Amazon SageMaker environmentÚAWS_DEFAULT_REGIONNÚAWS_PROFILEÚAWS_ACCESS_KEY_IDÚAWS_SECRET_ACCESS_KEYz]You need to provide an aws_access_key_id and aws_secret_access_key when not using aws_profilerm   z.pyz8Your training script should be a python script and not "Ú"z'Converting Arguments to Hyperparametersrk   rl   rq   ÚACCELERATE_USE_SAGEMAKERr[   rn   rr   rs   rt   ru   rv   Ú%ACCELERATE_SAGEMAKER_DISTRIBUTED_TYPEro   rp   ÚsmdistributedÚdataparallelÚenabledTzLoading SageMaker Inputs from z fileÚ	zLoaded SageMaker Inputs: zLoading SageMaker Metrics from ÚNameÚRegexzLoaded SageMaker Metrics: zCreating EstimatorÚ	image_uriÚentry_pointÚ
source_dirÚroleÚtransformers_versionÚpytorch_versionÚ
py_versionÚbase_job_nameÚinstance_countÚinstance_typeÚdebugger_hook_configFÚdistributionÚhyperparametersÚenvironmentÚmetric_definitions)4ÚprintÚregionr„   r…   ÚprofileÚaws_access_key_idÚaws_secret_access_keyr0   rD  Údirnamer�   ÚbasenameÚendswithr{   ru  rƒ   r   r�   rŽ   rT   r   r�   rK   r?   r&   r‘   r’   r“   r”   Údistributed_typer	   r�   rN   r   ÚDATA_PARALLELÚsagemaker_inputs_fileÚopenrn  ÚsplitÚstripÚsagemaker_metrics_filer~   r†  Úiam_role_namerŠ  r‹  rŒ  r�  r|   Úec2_instance_typeÚadditional_argsr   )rw  r    rˆ  r‡  r’  r�   r�   r“  r‘  Úsagemaker_inputsÚfileÚiÚlineÚlÚsagemaker_metricsÚmetric_dicts   &&              r'   Úprepare_sagemager_args_inputsr®  �  s÷  € ô 
Ð
4Ô5Ø'7×'>Ñ'>„B‡J�JÐ#Ñ$ð ×ÑÒ+Ø$4×$<Ñ$<Œ�
‰
�=Ò!Ø	×	Ñ	Ò	+°×0JÑ0JÒ0VØ*.×*@Ñ*@Œ�
‰
Ð&Ñ'Ø.2×.HÑ.HŒ�
‰
Ð*Ò+äÐuÓvÐvô —‘—‘ ×!5Ñ!5Ó6€JßØˆ
Ü—'‘'×"Ñ" 4×#7Ñ#7Ó8€KØ×Ñ ×&Ò&ÜÐSÐT_ÐS`Ð`aÐbÓcÐcä	Ð
3Ô4Ü,¨T×-FÑ-FÓG€Oð
Ü'¨×(<Ñ(<×(BÑ(BÓ(DÓEˆð
Ü& t×':Ñ':×'@Ñ'@Ó'BÓCˆð 	# FØ$¤c¨/Ó&:Ø# ^×%9Ñ%9Ø  $×"2Ñ"2Ø)¬3¨t×/HÑ/HÓ+IØ'¬¨T×-DÑ-DÓ)EØ4´c¸$×:^Ñ:^Ó6_Ø/Ð1A×1RÑ1R×1XÑ1Xð	€Kð ×Ñ×!Ñ!Ó# uÔ,Ü×!Ò!Üð Eóð ô $ DÓ6ˆà€LØ×(Ñ(Ô,D×,RÑ,RÔRØ'¨.¸9ÀdÐ:KÐ)LÐMˆð ÐØ×-Ñ-Ò9ÜÐ.Ð/?×/UÑ/UÐ.VÐV[Ð\Ô]ØÐÜÐ"×8Ñ8×9Ô9¸TÜ$ Tž?‘�Ø˜”6ÙØ—J‘J˜tÓ$�Ø)*¨1­¯©«Ð  1¥Ó&ñ	 +÷ :ô 	Ð)Ð*:Ð);Ð<Ô=ð ÐØ×.Ñ.Ò:ÜÐ/Ð0@×0WÑ0WÐ/XÐX]Ð^Ô_ØÐÜÐ"×9Ñ9×:Ô:¸dÜ$ Tž?‘�Ø˜”6ÙØ—J‘J˜tÓ$�à˜A˜a�DØ˜Q˜q�TŸZ™Z›\ð�ð "×(Ñ(¨Ö5ñ +÷ ;ô 	Ð*Ð+<Ð*=Ð>Ô?ô 
Ð
ÔàÐ%×/Ñ/Ø�{Ø�jØÐ ×.Ñ.ØÐ 0× EÑ EØÐ+×;Ñ;ØÐ&×1Ñ1ØÐ)×7Ñ7ØÐ*×7Ñ7ØÐ)×;Ñ;Ø Ø˜Ø˜?Ø�{ØÐ/ð€Dð$ ×'Ñ'Ò3ÜÐ+×;Ñ;¸TÓBˆØÐ!Ð!øôm ô 
ÜØ,¨T×-AÑ-A×-GÑ-GÓ-IÐ,JÐJ[Ô\i×\nÒ\nÓ\pÐ[qÐqrÐsó
ð 	
ð
ûô ô 
ÜØ& t×':Ñ':×'@Ñ'@Ó'BÐ&CÐCTÔUb×UgÒUgÓUiÐTjÐjkÐló
ð 	
ð
ú÷@ :×9Ð9ú÷ ;×:Ð:ús4   Å#R Å>#S& ËAT2Î A"UÒA	S#Ó&A	T/Ô2U	ÕU	c                ó  € \         P                  P                  V R4      P                  R4       Uu. uF  p\	        V4      ^ 8”  g   K  VNK  	  ppVP                  \        V4      4       RP                  V4      # u upi )z‘
Extends a path-based environment variable's value with a new path and returns the updated value. It's up to the
caller to set it in os.environ.
r,   r¤   )r„   r…   Úgetr¡  r/   r~   r?   Újoin)Úenv_var_nameÚpath_to_addÚpÚpathss   &&  r'   rC  rC    sf   € ô
 Ÿ
™
Ÿ™ |°RÓ8×>Ñ>¸sÔCÓRÑC�1ÄsÈ1ÃvÐPQÁz�QˆQÑC€EÐRØ	‡L�L”�[Ó!Ô"Ø�8‰8�E‹?Ðùò Ss   ²A<Á	A<c                   ó4   a € ] tR tRt o RtRR ltR tRtV tR# )ÚPrepareForLaunchi  aE  
Prepare a function that will launched in a distributed setup.

Args:
    launcher (`Callable`):
        The function to launch.
    distributed_type ([`~state.DistributedType`]):
        The distributed type to prepare for.
    debug (`bool`, *optional*, defaults to `False`):
        Whether or not this is a debug launch.
c                ó>   € Wn         \        V4      V n        W0n        R # )N)Úlauncherr   r�  r‰   )Úselfr¹  r�  r‰   s   &&&&r'   Ú__init__ÚPrepareForLaunch.__init__  s   € Ø ŒÜ /Ð0@Ó AˆÔØŽ
r)   c                ó¶  € V P                   '       dŠ   \        \        P                  P	                  R 4      4      p\        P                  P	                  R4      p\
        P                  P                  RV\
        P                  P                  WC4      VR7       EMV P                  \        P                  \        P                  \        P                  \        P                  \        P                  \        P                   \        P"                  39   d˜   \%        V4      \        P                  R&   \        \        P                  P	                  R^4      4      p\        \        P                  P	                  R^ 4      4      p\%        WV,          V,           4      \        P                  R&   \%        ^4      \        P                  R&   V P&                  ! V!   R	# )
Ú
WORLD_SIZEÚACCELERATE_DEBUG_RDV_FILEÚgloo)ÚrankÚstoreÚ
world_sizeÚ
LOCAL_RANKÚNPROCÚ	NODE_RANKÚRANKÚFORK_LAUNCHEDN)r‰   rÚ   r„   r…   r°  ÚtorchÚdistributedÚinit_process_groupÚ	FileStorer�  r   Ú	MULTI_GPUÚ	MULTI_MLUÚ
MULTI_MUSAÚ	MULTI_NPUÚ	MULTI_XPUÚ	MULTI_CPUÚMULTI_NEURONr?   r¹  )rº  rs  r    rÃ  Úrdv_fileÚnprocrÜ   s   &&*    r'   Ú__call__ÚPrepareForLaunch.__call__"  s>  € Ø�:�:ˆ:ÜœRŸZ™ZŸ^™^¨LÓ9Ó:ˆJÜ—z‘z—~‘~Ð&AÓBˆHÜ×Ñ×0Ñ0ØØÜ×'Ñ'×1Ñ1°(ÓGØ%ð	 1ö ð ×"Ñ"Ü×%Ñ%Ü×%Ñ%Ü×&Ñ&Ü×%Ñ%Ü×%Ñ%Ü×%Ñ%Ü×(Ñ(ð'
ô 
ô (+¨5£zŒB�J‰J�|Ñ$ÜœŸ
™
Ÿ™ w°Ó2Ó3ˆEÜœBŸJ™JŸN™N¨;¸Ó:Ó;ˆIÜ!$ UÕ%6¸Õ%>Ó!?ŒB�J‰J�vÑä&)¨!£fŒ�
‰
�?Ñ#Ø�Š�tÔr)   )r‰   r�  r¹  N)ÚNOF)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r»  rÖ  Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r'   r·  r·    s   ø‡ € ñ
ô÷
ð r)   r·  )F)3r<   r„   r1   r   rá   Úastr   Úshutilr   Útypingr   rÉ  Úcommands.config.config_argsr   Úutilsr   r   r	   r
   r   r   r   r   r   r   r   Úutils.constantsr   Úutils.otherr   r   r   Úutils.versionsr   r,   r   Údataclassesr   r   r(   r7   rN   rŸ   r  r  rP  r^  ru  r®  rC  r·  © r)   r'   Ú<module>rë     sœ   ðó Û 	Û Û 
Û Ý Ý Ý ã å 9÷÷ ÷ ñ õ <ß DÑ DÝ -Ý ß Bð -/ô ò/õ0õ$bõJGõTõ6a÷Hõ('õTs"òl÷,ó ,r)   