o
    ߗiH                     @   s*  U 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 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)_WaitCounter__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/transcripts/venv/lib/python3.10/site-packages/torch/distributed/c10d_logger.py_get_or_create_logger   s   

r   c                 C   s$   t |  }t|j d|  }||fS )N-)r	   type__name__)r   log_handlerr   r   r   r   r   '   s   r   c              	   O   s   t  rL|dp|d}|  t |d t | t   t | t   t | d}|d dkrJtjj	
 }ddd	 |D |d
< |S d|  i}|S )Ngroupprocess_grouppg)	func_namepg_namebackend
world_size
group_sizeglobal_rank
local_rankr(   nccl.c                 s   s    | ]}t |V  qd S )N)str).0vr   r   r   	<genexpr>A   s    z _get_msg_dict.<locals>.<genexpr>nccl_versionr&   )distis_initializedget_get_process_group_nameget_backendget_world_sizeget_ranktorchcudar-   versionjoin)r&   argskwargsr#   msg_dictr3   r   r   r   _get_msg_dict3   s"   


	rB   _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)	ExceptionrB   r!   _c10d_loggerdebug)r?   r@   rG   rA   rE   r   r   wrapperN   s   

z"_exception_logger.<locals>.wrapper	functoolswrapsrD   r?   r@   rC   rE   rL   r   rK   r   _exception_loggerM   s    	rQ   c                    rF   )Nr?   r@   r   c                     sH   t d j    | i |}W d    |S 1 sw   Y  |S )Nzpytorch.wait_counter.c10d.)r
   r!   guard)r?   r@   func_returnrK   r   r   rL   \   s   
z_time_logger.<locals>.wrapperrM   rP   r   rK   r   _time_logger[   s    rT   )!rN   r   typingr   r   r   r   r   r   typing_extensionsr   r;   torch.distributeddistributedr4   "torch.distributed.logging_handlersr	   torch.monitorr
   r   r/   __annotations___DEFAULT_DESTINATIONLoggerr   Handlerr   rI   rB   rC   rD   rQ   rT   r   r   r   r   <module>   s.   
	 
	"&