o
    h5                     @   s  U d dl Z d dlZd dl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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   q/var/www/html/construction_image-detection-poc/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_dictr0   r   r   r   _get_msg_dict3   s"   


	r?   _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)	Exceptionr?   r   _c10d_loggerdebug)r<   r=   rD   r>   rB   r   r   wrapperN   s   

z"_exception_logger.<locals>.wrapper	functoolswrapsrA   r<   r=   r@   rB   rI   r   rH   r   _exception_loggerM   s    	rN   c                    rC   )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_returnrH   r   r   rI   \   s   
z_time_logger.<locals>.wrapperrJ   rM   r   rH   r   _time_logger[   s    rQ   )!rK   r   typingr   r   r   typing_extensionsr   r8   torch.distributeddistributedr1   "torch.distributed.logging_handlersr   torch.monitorr   r   listr,   __annotations___DEFAULT_DESTINATIONLoggerr   tupleHandlerr   rF   dictr?   r@   rA   rN   rQ   r   r   r   r   <module>   s.   
	
	"&