o
    Ii                     @   s   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlm	Z
 d dlmZmZ ddlmZmZmZmZmZmZ dddZdd	 Zd
efddZedkrSee dS )    N)__version__)default_config_fileload_config_from_file   )is_mlu_availableis_musa_availableis_neuron_availableis_npu_availableis_sdaa_availableis_xpu_availablec                 C   sF   | d ur
|  d}ntd}|jdd dd | d ur!|jtd |S )NenvzAccelerate env commandz--config_filezFThe config file to use for the default values in the launching script.)defaulthelp)func)
add_parserargparseArgumentParseradd_argumentset_defaultsenv_command)
subparsersparser r   K/home/ubuntu/.local/lib/python3.10/site-packages/accelerate/commands/env.pyenv_command_parser'   s   
r   c              	   C   s(  t j}t j }t }t }t }t }t }t	 }d}	|r!d}	n|r&d}	n|r+d}	n|r0d}	n|r5d}	n	|r:d}	n|r>d}	d	}
| j
d usKtjtrRt| j
 }
d }d	}tjd
kr`ddg}n	tjdkriddg}|d urxtj|dtjd }tt |t tj| |	t jd ddd}|rt j |d< n:|rt j |d< n0|rt j |d< n&|rt j  |d< n|rt j! |d< n|rt j" |d< n|rt jj#|d< t$d t$d%dd |& D  t$| j
d u rd nd! t'|
t(rd%d"d |
& D nd#|
 }t$| |
|d$< |S )%NzN/ACUDAXPUMLUSDAAMUSANPUNEURONz	Not foundntwhere
accelerateposixwhichT)textstderri   @z.2fz GB)z`Accelerate` versionPlatformz`accelerate` bash locationzPython versionzNumpy versionzPyTorch versionzPyTorch acceleratorz
System RAMzGPU typezXPU typezMLU typez	SDAA typez	MUSA typezNEURON typezCANN versionz4
Copy-and-paste the text below in your GitHub issue

c                 S       g | ]\}}d | d| qS )z- : r   .0propvalr   r   r   
<listcomp>x        zenv_command.<locals>.<listcomp>z- `Accelerate` default config:z- `Accelerate` config passed:c                 S   r+   )z	- r,   r   r-   r   r   r   r1   |   r2   	z`Accelerate` configs))torchr   cudais_availabler   r   r
   r   r	   r   config_fileospathisfiler   r   to_dictname
subprocesscheck_outputSTDOUTstripversionplatformpython_versionnppsutilvirtual_memorytotalget_device_namexpumlusdaamusaneuroncannprintjoinitems
isinstancedict)args
pt_versionpt_cuda_availablept_xpu_availablept_mlu_availablept_sdaa_availablept_musa_availablept_npu_availablept_neuron_availableacceleratoraccelerate_configcommandbash_locationinfoaccelerate_config_strr   r   r   r   6   s   




r   returnc                  C   s   t  } |  }t| dS )Nr   )r   
parse_argsr   )r   rT   r   r   r   main   s   re   __main__)N)r   r8   rB   r=   numpyrD   rE   r4   r$   r   rA   accelerate.commands.configr   r   utilsr   r   r   r	   r
   r   r   r   intre   __name__
SystemExitr   r   r   r   <module>   s     

Q
