
    fPi                     4    d dl Z d dlmZ  G d d          ZdS )    N)cudartc                   (    e Zd Zd ZddZd Zd ZdS )
NvtxHelperc                     || _         i | _        |D ].}dD ])}t          j                    d         | j        |dz   |z   <   */i | _        d S )N)startstop   -)stageseventsr   cudaEventCreatemarkers)selfr   stagemarkers       /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/onnxruntime/transformers/models/sam2/nvtx_helper.py__init__zNvtxHelper.__init__
   si     	P 	PE+ P P4:4J4L4LQ4OECK&011P    bluec                     t          j        ||          | j        |<   |dz   }|| j        v r"t	          j        | j        |         d           d S d S )N)messagecolor-startr   )nvtxstart_ranger   r   r   cudaEventRecord)r   r   r   
event_names       r   start_profilezNvtxHelper.start_profile   s]    ".uEJJJUX%
$$"4;z#:A>>>>> %$r   c                     |dz   }|| j         v r t          j        | j         |         d           t          j        | j        |                    d S )N-stopr   )r   r   r   r   	end_ranger   )r   r   r   s      r   stop_profilezNvtxHelper.stop_profile   sO    W_
$$"4;z#:A>>>t|E*+++++r   c                     | j         D ]O}t          j        | j        | d         | j        | d                   d         }t	          | d|dd           Pd S )Nr   r    r	   z: z.2fz ms)r   r   cudaEventElapsedTimer   print)r   r   latencys      r   print_latencyzNvtxHelper.print_latency   s}    [ 	0 	0E1$+>N>N>N2OQUQ\`e]l]l]lQmnnopqGU..g....////	0 	0r   N)r   )__name__
__module____qualname__r   r   r"   r'    r   r   r   r   	   sU          ? ? ? ?, , ,0 0 0 0 0r   r   )r   cudar   r   r+   r   r   <module>r-      sT   
       0 0 0 0 0 0 0 0 0 0r   