o
    H&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 d dlZd dl	m
Z d dlmZ g Zee ed< dejfddZdd	edeejef fd
dZe adeeef fddZdd Zdd ZdS )    N)AnyDictListTuple)_log_handlers__all__returnc                  C   sN   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)Zlogging_handlerlog_handler_namelogger	formatter r   HC:\wamp64\www\opt\env\Lib\site-packages\torch/distributed/c10d_logger.py_get_or_create_logger   s   


r   defaultdestinationc                 C   s   t |  }t|j}||fS N)r   type__name__)r   Zlog_handlerr   r   r   r   r	   #   s   
r	   c                 O   s   t  rQ|  | d| t |d t |d t   t |d t   t |d d}|d dkrOtjj	
 }ddd	 |D |d
< |S |  | d| d}|S )Nz, Zpggroup)	func_nameargsZpg_namebackendZ
world_sizeZ
group_sizeZglobal_rankZ
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   )distZis_initializedZ_get_process_group_namegetget_backendZget_world_sizeZget_ranktorchcudar!   versionjoin)r   r   kwargsmsg_dictr'   r   r   r   _get_msg_dict-   s$   
r1   c                       t   fdd}|S )Nc               
      sX   z | i |W S  t y+ } zt jg| R i |}| |d< t|  d }~ww )Nerror)	Exceptionr1   r   _c10d_loggerdebug)r   r/   r3   r0   funcr   r   wrapperE   s   

z"_exception_logger.<locals>.wrapper	functoolswrapsr8   r9   r   r7   r   _exception_loggerD   s   	r>   c                    r2   )Nc                     sV   t  } | i |}t  | }t jg| R i |}| d|d< t| |S )Nns
time_spent)timetime_nsr1   r   r5   r6   )r   r/   t1Zfunc_returnr@   r0   r7   r   r   r9   S   s   
z_time_logger.<locals>.wrapperr:   r=   r   r7   r   _time_loggerR   s   rD   )r   )r;   r
   rA   typingr   r   r   r   r+   Ztorch.distributeddistributedr(   Z"torch.distributed.logging_handlersr   r   r#   __annotations__Loggerr   Handlerr	   r5   r1   r>   rD   r   r   r   r   <module>   s   
