ó
    EñiŸ  ã                   ó~   • S SK Jr  S SKrSSKJrJrJrJrJrJ	r	J
r
  SSKJrJr  SSKJr  SrS	\4S
\4S jjrS rS rg)é    )ÚPathNé   )Úis_hpu_availableÚis_mlu_availableÚis_musa_availableÚis_neuron_availableÚis_npu_availableÚis_sdaa_availableÚis_xpu_availableé   )ÚClusterConfigÚdefault_json_config_file)ÚSubcommandHelpFormatterzFCreate a default config file for Accelerate with only a few flags set.ÚnoÚsave_locationc                 ó  • [        U5      nUR                  R                  SSS9  UR                  5       (       a  [	        SU S35        gU R                  5       n U S;  a  [        SU  35      eSU S	.n[        5       (       a8  [        R                  R                  5       nXCS
'   SUS'   US:”  a  SUS'   OSUS'   [        5       (       a;  [        R                  R                  5       nXSS
'   SUS'   US:”  a  SUS'   GOàSUS'   GOÙ[        5       (       a;  [        R                  R                  5       nXcS
'   SUS'   US:”  a  SUS'   GO–SUS'   GO�[        5       (       a;  [        R                   R                  5       nXsS
'   SUS'   US:”  a  SUS'   GOLSUS'   GOE[        R"                  R%                  5       (       a9  [        R"                  R                  5       nXƒS
'   SUS'   US:”  a  SUS'   OïSUS'   Oé['        5       (       a9  [        R(                  R                  5       n	X“S
'   SUS'   U	S:”  a  SUS'   O§SUS'   O¡[+        5       (       a9  [        R,                  R                  5       n
X£S
'   SUS'   U
S:”  a  SUS'   O_SUS'   OY[/        5       (       a9  [        R0                  R                  5       nX³S
'   SUS'   US:”  a  SUS'   OSUS'   OSn	SUS'   SUS
'   SUS'   SUS'   SUS'   [3        S0 UD6nUR5                  U5        U$ )a²  
Creates and saves a basic cluster config to be used on a local machine with potentially multiple GPUs. Will also
set CPU if it is a CPU-only machine.

Args:
    mixed_precision (`str`, *optional*, defaults to "no"):
        Mixed Precision to use. Should be one of "no", "fp16", or "bf16"
    save_location (`str`, *optional*, defaults to `default_json_config_file`):
        Optional custom save location. Should be passed to `--config_file` when using `accelerate launch`. Default
        location is inside the huggingface cache folder (`~/.cache/huggingface`) but can be overridden by setting
        the `HF_HOME` environmental variable, followed by `accelerate/default_config.yaml`.
T)ÚparentsÚexist_okz Configuration already exists at zZ, will not override. Run `accelerate config` manually or pass a different `save_location`.F)r   Úfp16Úbf16Úfp8zL`mixed_precision` should be one of 'no', 'fp16', 'bf16', or 'fp8'. Received ÚLOCAL_MACHINE)Úcompute_environmentÚmixed_precisionÚnum_processesÚuse_cpur   Ú	MULTI_MLUÚdistributed_typeÚNOÚ
MULTI_SDAAÚ
MULTI_MUSAÚ	MULTI_HPUÚ	MULTI_GPUÚ	MULTI_XPUÚ	MULTI_NPUÚMULTI_NEURONr   ÚdebugÚenable_cpu_affinity© )r   ÚparentÚmkdirÚexistsÚprintÚlowerÚ
ValueErrorr   ÚtorchÚmluÚdevice_countr
   Úsdaar   Úmusar   ÚhpuÚcudaÚis_availabler   Úxpur	   Únpur   Úneuronr   Úto_json_file)r   r   ÚpathÚconfigÚnum_mlusÚ	num_sdaasÚ	num_musasÚnum_hpusÚnum_gpusÚnum_xpusÚnum_npusÚnum_neuron_coress               Ú_/home/mande/repo/quber/.venv/lib/python3.13/site-packages/accelerate/commands/config/default.pyÚwrite_basic_configrG   %   sE  € ô �Ó€DØ‡K�K×Ñ˜d¨TÐÑ2Ø‡{�{‡}�}ÜØ.¨}¨oð  >Xð  Yô	
ð Ø%×+Ñ+Ó-€OØÐ;Ó;ÜØZÐ[jÐZkÐló
ð 	
ð  /Ø*ñ€Fô ×ÑÜ—9‘9×)Ñ)Ó+ˆØ"*ˆÑØ!ˆˆyÑØ�a‹<Ø)4ˆFÐ%Ò&à)-ˆFÐ%Ñ&Ü×ÑÜ—J‘J×+Ñ+Ó-ˆ	Ø"+ˆÑØ!ˆˆyÑØ�q‹=Ø)5ˆFÐ%Ó&à)-ˆFÐ%Ó&Ü	×	Ñ	Ü—J‘J×+Ñ+Ó-ˆ	Ø"+ˆÑØ!ˆˆyÑØ�q‹=Ø)5ˆFÐ%Ó&à)-ˆFÐ%Ó&Ü	×	Ñ	Ü—9‘9×)Ñ)Ó+ˆØ"*ˆÑØ!ˆˆyÑØ�a‹<Ø)4ˆFÐ%Ó&à)-ˆFÐ%Ó&Ü	�‰×	 Ñ	 ×	"Ñ	"Ü—:‘:×*Ñ*Ó,ˆØ"*ˆÑØ!ˆˆyÑØ�a‹<Ø)4ˆFÐ%Ò&à)-ˆFÐ%Ò&Ü	×	Ñ	Ü—9‘9×)Ñ)Ó+ˆØ"*ˆÑØ!ˆˆyÑØ�a‹<Ø)4ˆFÐ%Ò&à)-ˆFÐ%Ò&Ü	×	Ñ	Ü—9‘9×)Ñ)Ó+ˆØ"*ˆÑØ!ˆˆyÑØ�a‹<Ø)4ˆFÐ%Ò&à)-ˆFÐ%Ò&Ü	×	Ñ	Ü Ÿ<™<×4Ñ4Ó6ÐØ"2ˆÑØ!ˆˆyÑØ˜aÓØ)7ˆFÐ%Ò&à)-ˆFÐ%Ò&àˆØ ˆˆyÑØ"#ˆˆÑØ%)ˆÐ!Ñ"Ø€Fˆ7�OØ$)€FÐ Ñ!ÜÑ$˜VÑ$€FØ
×Ñ˜ÔØ€Kó    c                 ó¾   • U R                  SU[        [        S9n U R                  S[        SSS9  U R                  S/ SQ[
        S	S
S9  U R                  [        S9  U $ )NÚdefault)r   ÚhelpÚformatter_classz--config_fileaT  The path to use to store the config file. Will default to a file named default_config.yaml in the cache location, which is the content of the environment `HF_HOME` suffixed with 'accelerate', or if you don't have such an environment variable, your cache directory ('~/.cache' or the content of `XDG_CACHE_HOME`) suffixed with 'huggingface'.r   )rJ   rK   Údestz--mixed_precision)r   r   r   z²Whether or not to use mixed precision training. Choose between FP16 and BF16 (bfloat16) training. BF16 training is only supported on Nvidia Ampere GPUs and PyTorch 1.10 or later.r   )ÚchoicesÚtyperK   rJ   )Úfunc)Ú
add_parserÚdescriptionr   Úadd_argumentr   ÚstrÚset_defaultsÚdefault_config_command)Úparserr   s     rF   Údefault_command_parserrX   Ž   s�   € Ø×Ñ˜y°'ÄÔ]tÐÐu€FØ
×ÑØÜ(ð"ð
 ð ñ 
ð ×ÑØÚ&Üð[ð ð ñ ð ×ÑÔ3ÐÑ4Ø€MrH   c                 óp   • [        U R                  U R                  5      nU(       a  [        SU 35        g g )Nz"accelerate configuration saved at )rG   r   r   r-   )ÚargsÚconfig_files     rF   rV   rV   ©   s2   € Ü$ T×%9Ñ%9¸4×;MÑ;MÓN€KÞÜÐ2°;°-Ð@ÕAð rH   )Úpathlibr   r0   Úutilsr   r   r   r   r	   r
   r   Úconfig_argsr   r   Úconfig_utilsr   rR   rT   rG   rX   rV   r)   rH   rF   Ú<module>r`      sO   ðõ" ã ÷÷ ñ ÷ AÝ 1ð W€ð (,ÐBZñ f¸Cõ fòRó6BrH   