U
    hn                     @   sD   d dl Z d dlmZ 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krHtt jd  tt jd } tt jd }tjdd|| d nfdt jkrdd	lm} |j}tt jdd tt jd
d} tt jdd}tjdd|| d n 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_RANKr   )MPIZOMPI_COMM_WORLD_RANKZOMPI_COMM_WORLD_SIZE   ztcp://127.0.0.1:7647)	osenvironintdistZinit_process_groupZmpi4pyr   Z
COMM_WORLDget)r   r   r   comm r   W/tmp/pip-unpacked-wheel-socb9apf/onnxruntime/transformers/models/llama/dist_settings.py	init_dist   s    

r   c                   C   s   t d k	rt  S dS Nr   )r   ZGet_rankr   r   r   r   get_rank   s    r   c                   C   s   t d k	rt  S dS )Nr   )r   ZGet_sizer   r   r   r   get_size"   s    r   c                   C   s   t d k	rt   d S )N)r   Barrierr   r   r   r   barrier&   s    r   c                  G   s   t  dkrt|   d S r   )r   print)argsr   r   r   	print_out+   s    
r   )
r   Ztorch.distributedZdistributedr	   r   r   r   r   r   r   r   r   r   r   <module>   s   