o
    !i                     @   sd   d dl Z d dlZd dlZddlmZmZ g dZg dZdddZd	d
 Z	dd Z
e jdd ZdS )    N   )check_errorcudart)initstartstopprofile)ZgpustarttimestampZgpuendtimestampZ
gridsize3dZthreadblocksizeZstreamidzenableonstart 0Zconckerneltrace	key_valuec                 C   s   t  }t|dstdttjdr)tjjd ur)ttjjdd dkr)td|d u r/tn|}|dkr:|j	j
}n|d	krC|j	j}ntd
tjdd$}|ddd |D  |  t||j| | W d    d S 1 stw   Y  d S )NcudaOutputModez-HIP does not support profiler initialization!cuda.r      z.CUDA12+ does not need profiler initialization!r	   csvz;supported CUDA profiler output modes are: key_value and csvT)delete   
c                 s   s    | ]}| d V  qdS )asciiN)encode).0f r   b/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/torch/cuda/profiler.py	<genexpr>*   s    zinit.<locals>.<genexpr>)r   hasattrAssertionErrortorchversionr   intsplitDEFAULT_FLAGSr
   ZKeyValuePairZCSVRuntimeErrortempfileNamedTemporaryFilewritejoinflushr   ZcudaProfilerInitializename)Zoutput_fileflagsZoutput_modertZoutput_mode_enumr   r   r   r   r      s*   



"r   c                   C      t t   d S N)r   r   ZcudaProfilerStartr   r   r   r   r   /      r   c                   C   r(   r)   )r   r   ZcudaProfilerStopr   r   r   r   r   3   r*   r   c                   c   s$    zt   d V  W t  d S t  w r)   )r   r   r   r   r   r   r   7   s
   r   )Nr	   )
contextlibr    r    r   r   __all__r   r   r   r   contextmanagerr   r   r   r   r   <module>   s    
