U
    9%e                     @   sr   d dl Z d dlZd dlZddlmZmZ ddddgZdd	d
ddddg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profileZgpustarttimestampZgpuendtimestampZ
gridsize3dZthreadblocksizeZstreamidzenableonstart 0Zconckerneltrace	key_valuec              	   C   s   t  }t|dstdttjdrRtjjd k	rRttjjdd dkrRtd|d kr^tn|}|dkrt|j	j
}n|d	kr|j	j}ntd
tjdd<}|ddd |D  |  t||j| | W 5 Q R X 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   R/var/www/html/Darija-Ai-API/env/lib/python3.8/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,    




c                   C   s   t t   d S N)r   r   ZcudaProfilerStartr   r   r   r   r   /   s    c                   C   s   t t   d S r(   )r   r   ZcudaProfilerStopr   r   r   r   r   3   s    c                   c   s   zt  d V  W 5 t   X d S r(   )r   r   r   r   r   r   r   7   s    
)Nr	   )
contextlibr    r    r   r   __all__r   r   r   r   contextmanagerr   r   r   r   r   <module>   s"   
