
    Vh                     v    d dl Zd dlmZ eeej                  f   ZdgZdedefdZ	dede
fdZ G d	 de      Zy)
    N)AnyCheckpointExceptionexcreturnc                 D    | t        j                  | j                        fS N)tb
extract_tb__traceback__)r   s    P/home/dcms/DCMS/lib/python3.12/site-packages/torch/distributed/checkpoint/api.py_wrap_exceptionr   
   s    s00122    objc                     t        | t              syt        |       dk7  ryt        | d   t              xr t        | d   t        j
                        S )NF   r      )
isinstancetuplelenBaseExceptionr	   StackSummary)r   s    r   _is_wrapped_exceptionr      sB    c5!
3x1}c!fm,TCFBOO1TTr   c                   b     e Zd ZdZdedeeef   f fdZe	deeef   fd       Z
defdZ xZS )r   zNException raised if failure was detected as part of a checkpoint load or save.msgfailuresc                 4    t         |   ||       || _        y r   )super__init__	_failures)selfr   r   	__class__s      r   r   zCheckpointException.__init__   s    h'!r   r   c                     | j                   S )zYReturn a dictionary mapping node ranks to their associated exceptions in case of failure.)r   )r    s    r   r   zCheckpointException.failures   s     ~~r   c           	      X   d| j                   j                          d}| j                   j                         D ]n  \  }}|\  }}|d| dz  }|'|dj                  t	        j
                  |            z  }|dj                  t	        j                  t        |      |            z  }p |S )NzCheckpointException ranks:
z)Traceback (most recent call last): (RANK z)
 )value)r   keysitemsjoinr	   format_listformat_exception_onlytype)r    strrankexc_pairr   traces         r   __str__zCheckpointException.__str__"   s    *4>>+>+>+@*AD"nn224 	KND(!JC>tfCHHC rwwr~~e455277233DISIJJC	K 
r   )__name__
__module____qualname____doc__r-   dictintWRAPPED_EXCEPTIONr   propertyr   r1   __classcell__)r!   s   @r   r   r      sV    X"C "45F0F+G " $s$556   r   )	tracebackr	   typingr   r   r   r   r8   __all__r   boolr   r    r   r   <module>r@      s_      -89  
!3 3+< 3Us Ut U- r   