
    Ph                        U d dl Z d dlmZmZmZ d dlmZ  e j                  e      Z	 ed      Z
 G d dee
         Z ed      Zded	<    ed
      Zded<    ed      Zded<    ed      Zded<    ed      Zded<    ed      Zded<    ed      Zded<    ed      Zded<    ed      Zded<    ed      Zded<   deegdf   ddfd Zdeegdf   ddfd!Zdeeegdf   ddfd"Zdeeegdf   ddfd#Zdeegdf   ddfd$Zdeegdf   ddfd%Zdeegdf   ddfd&Zdeg df   ddfd'Zdeegdf   ddfd(Z deegdf   ddfd)Z!y)*    N)CallableGenericList)	ParamSpecPc                   n    e Zd ZdefdZdeedf   ddfdZdej                  dej                  ddfd	Z
y)
CallbackRegistrynamec                      || _         g | _        y N)r
   callback_list)selfr
   s     bC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\torch/utils/_cuda_trace.py__init__zCallbackRegistry.__init__   s    	68    cbNreturnc                 :    | j                   j                  |       y r   )r   append)r   r   s     r   add_callbackzCallbackRegistry.add_callback   s    !!"%r   argskwargsc                     | j                   D ]  }	  ||i |  y # t        $ r*}t        j                  d| j                         Y d }~=d }~ww xY w)Nz7Exception in callback for %s registered with CUDA trace)r   	Exceptionlogger	exceptionr
   )r   r   r   r   es        r   fire_callbackszCallbackRegistry.fire_callbacks   sR    $$BD#F# %    Mtyy s   	A A

A)__name__
__module____qualname__strr   r   r   r   r   r   r    r   r   r	   r	   
   sL    9S 9&x40 &T &AFF ahh 4 r   r	   zCUDA event creationzCallbackRegistry[int]CUDAEventCreationCallbackszCUDA event deletionCUDAEventDeletionCallbackszCUDA event recordzCallbackRegistry[int, int]CUDAEventRecordCallbackszCUDA event waitCUDAEventWaitCallbackszCUDA memory allocationCUDAMemoryAllocationCallbackszCUDA memory deallocationCUDAMemoryDeallocationCallbackszCUDA stream creationCUDAStreamCreationCallbackszCUDA device synchronizationzCallbackRegistry[[]]"CUDADeviceSynchronizationCallbackszCUDA stream synchronization"CUDAStreamSynchronizationCallbackszCUDA event synchronization!CUDAEventSynchronizationCallbacksr   r   c                 .    t         j                  |        y r   )r$   r   r   s    r   )register_callback_for_cuda_event_creationr0   <       ++B/r   c                 .    t         j                  |        y r   )r%   r   r/   s    r   )register_callback_for_cuda_event_deletionr3   @   r1   r   c                 .    t         j                  |        y r   )r&   r   r/   s    r   'register_callback_for_cuda_event_recordr5   D   s    ))"-r   c                 .    t         j                  |        y r   )r'   r   r/   s    r   %register_callback_for_cuda_event_waitr7   H   s    ''+r   c                 .    t         j                  |        y r   )r(   r   r/   s    r   ,register_callback_for_cuda_memory_allocationr9   L   s    !..r2r   c                 .    t         j                  |        y r   )r)   r   r/   s    r   .register_callback_for_cuda_memory_deallocationr;   P   s    #004r   c                 .    t         j                  |        y r   )r*   r   r/   s    r   *register_callback_for_cuda_stream_creationr=   T   s    ,,R0r   c                 .    t         j                  |        y r   )r+   r   r/   s    r   1register_callback_for_cuda_device_synchronizationr?   X   s    &33B7r   c                 .    t         j                  |        y r   )r,   r   r/   s    r   1register_callback_for_cuda_stream_synchronizationrA   \   s     '33B7r   c                 .    t         j                  |        y r   )r-   r   r/   s    r   0register_callback_for_cuda_event_synchronizationrC   b   s    %2226r   )"loggingtypingr   r   r   typing_extensionsr   	getLoggerr   r   r   r	   r$   __annotations__r%   r&   r'   r(   r)   r*   r+   r,   r-   intr0   r3   r5   r7   r9   r;   r=   r?   rA   rC   r#   r   r   <module>rJ      sk    * * '			8	$cNwqz $ 7G7 3  7G7 3  :J: 6  8H8 4  :J: 6  <L< !8  8H8 4  >N!> "$:  ?O!? "$;  >N > !#: 
0(C5$;2G 0D 00(C5$;2G 0D 0.#sT9I0J .t .,hSz47G.H ,T ,3XseTk5J 3t 35xt7L 5QU 518SE4K3H 1T 18(2t8:L 8QU 88#8	873%+9N 7SW 7r   