o
    "i                     @   s&  U d dl Z d dlZd dlZd dlmZmZmZmZmZm	Z	 d dl
mZ d dlZd dlmZ d dlmZ g Zee ed< dZefdedejfd	d
Zefdedeejef fddZe adeeef fddZe	dZedZdeeef deeef fddZdeeef deeef fddZdS )    N)AnyCallableDictListTupleTypeVar)	ParamSpec)_log_handlers__all__defaultdestinationreturnc                 C   sP   t | \}}td| }|tj td}|| d|_|| |S )Nzc10d-za%(asctime)s %(filename)s:%(lineno)s %(levelname)s p:%(processName)s t:%(threadName)s: %(message)sF)	_get_logging_handlerlogging	getLoggersetLevelDEBUG	FormattersetFormatter	propagate
addHandler)r   logging_handlerlog_handler_namelogger	formatter r   [/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/torch/distributed/c10d_logger.py_get_or_create_logger   s   

r   c                 C   s   t |  }t|j}||fS N)r	   type__name__)r   log_handlerr   r   r   r   r   '   s   
r   c              
   O   s   t  rR|dp|d}|  | d| t |d t | t   t | t   t | d}|d dkrPtjj	
 }dd	d
 |D |d< |S |  | d| d}|S )Ngroupprocess_groupz, pg)	func_nameargspg_namebackend
world_size
group_sizeglobal_rank
local_rankr(   nccl.c                 s   s    | ]}t |V  qd S r   )str).0vr   r   r   	<genexpr>@   s    z _get_msg_dict.<locals>.<genexpr>nccl_version)r%   r&   )distis_initializedget_get_process_group_nameget_backendget_world_sizeget_ranktorchcudar-   versionjoin)r%   r&   kwargsr"   msg_dictr3   r   r   r   _get_msg_dict1   s&   



rA   _T_Pfuncc                    ,   t  dtjdtjdtf fdd}|S )Nr&   r?   r   c               
      sX   z | i |W S  t y+ } zt jg| R i |}| |d< t|  d }~ww )Nerror)	ExceptionrA   r    _c10d_loggerdebug)r&   r?   rF   r@   rD   r   r   wrapperL   s   

z"_exception_logger.<locals>.wrapper	functoolswrapsrC   r&   r?   rB   rD   rK   r   rJ   r   _exception_loggerK   s    	rP   c                    rE   )Nr&   r?   r   c                     sV   t  } | i |}t  | }t jg| R i |}| d|d< t| |S )Nns
time_spent)timetime_nsrA   r    rH   rI   )r&   r?   t1func_returnrR   r@   rJ   r   r   rK   Z   s   
z_time_logger.<locals>.wrapperrL   rO   r   rJ   r   _time_loggerY   s    rW   ) rM   r   rS   typingr   r   r   r   r   r   typing_extensionsr   r;   torch.distributeddistributedr4   "torch.distributed.logging_handlersr	   r
   r/   __annotations___DEFAULT_DESTINATIONLoggerr   Handlerr   rH   rA   rB   rC   rP   rW   r   r   r   r   <module>   s$   
	  "&