o
    iB                     @   sH   d dl Z d dlmZ dd Zdd Zdd Zdd	 Zd
d Zdd Z	dS )    Nc                  C   s   dt jv r%tt jd  tt jd } tt jd }tjdd|| d d S dt jv rPtt jdd tt jd	d} tt jd
d}tjdd|| d d S 	 d S )NZ
LOCAL_RANKZRANKZ
WORLD_SIZEZncclztcp://127.0.0.1:7645)Zinit_method
world_sizerankZOMPI_COMM_WORLD_LOCAL_RANK0ZOMPI_COMM_WORLD_RANKZOMPI_COMM_WORLD_SIZE1ztcp://127.0.0.1:7647)osenvironintdistZinit_process_groupget)r   r    r   m/home/kim/smarthome/.venv/lib/python3.10/site-packages/onnxruntime/transformers/models/llama/dist_settings.py	init_dist   s   

r   c                  C   s.   zddl m}  | j}|W S  ty   Y d S w )Nr   )MPI)Zmpi4pyr   Z
COMM_WORLDImportError)r   commr   r   r   	_get_comm   s   r   c                  C      t  } | d ur|  S dS Nr   )r   ZGet_rankr   r   r   r   get_rank'      r   c                  C   r   )N   )r   ZGet_sizer   r   r   r   get_size,   r   r   c                  C   s   t  } | d ur|   d S d S )N)r   Barrierr   r   r   r   barrier1   s   r   c                  G   s   t  dkrt|   d S d S r   )r   print)argsr   r   r   	print_out7   s   
r   )
r   Ztorch.distributeddistributedr	   r   r   r   r   r   r   r   r   r   r   <module>   s   
