
    "hP                     t    d dl Z d dlZd dlZddlmZmZmZ ddlmZ d Z	d Z
d Zd Zd	 Zed
k(  r e        yy)    N   )startfinalize_select_backend)set_command_linec            	         t        j                  ddt         j                        } | j                  ddt        d       | j                  dd	t        d
d g d       | j                  ddt        ddddg       | j                  ddt        dddg       | j                  ddt        dd d dg       | j                  dt         j
                  d       | j                         }||j                  fS )NzBThe proton command utility for profiling scripts and pytest tests.z
    proton [options] script.py [script_args] [script_options]
    proton [options] pytest [pytest_args] [script_options]
    python -m triton.profiler.proton [options] script.py [script_args] [script_options]
)descriptionusageformatter_classz-nz--namezName of the profiling session)typehelpz-bz	--backendzProfiling backend)cupticupti_pcsampling	roctracer)r   r   defaultchoicesz-cz	--contextzProfiling contextshadowpythonz-dz--datazProfiling datatreez-kz--hookzProfiling hooktritontarget_argszSubcommand and its arguments)nargsr   )argparseArgumentParserRawTextHelpFormatteradd_argumentstr	REMAINDER
parse_argsr   )parserargss     S/var/www/html/sandstorm/venv/lib/python3.12/site-packages/triton/profiler/proton.pyparse_argumentsr#      s
   $$X a 224F hS7VW
k:MW[ J  L
k:MW_!)8 4  6
hS7GQWbhaij
hS7GQU`dfn_op
X-?-?FdeD!!!!    c                 F    t         j                  j                  |       dk(  S )Npytest)ospathbasename)scripts    r"   	is_pytestr+      s    77F#x//r$   c                 H   t         j                  j                  |       }ddd|dt        t        j
                  t        i}t        j                  }| g|z   t        _        t        j                  j                  t         j                  j                  |             	 t        |d      5 }t        |j                         |d      }d d d        t        |       |t        _        y # 1 sw Y   !xY w# t        $ r}t        d|        Y d }~4d }~ww xY w# |t        _        w xY w)N__name____main____file____builtins__rbexecz.An error occurred while executing the script: )r'   r(   abspathr0   sysr-   argvappenddirnameopencompilereadr2   	Exceptionprint)r*   r!   script_pathclean_globalsoriginal_argvfilecodees           r"   execute_as_mainrC      s    ''//&)K 	JKc	M HHMx$CHHHOOBGGOOK01!+t$ 	=499;V<D	=T=! !	= 	=  D>qcBCCD !sB   C0 (C$C0 $C-)C0 0	D9DD DD D!c                    | j                   r| j                   n	t               }t        | j                  | j                  | j
                  || j                         t                |d   }t        |      dkD  r|dd  ng }t        |      r dd l
}|j                  |       t                y t        ||       t                y )N)contextdatabackendhookr   r   )rG   r   r   namerE   rF   rH   r   lenr+   r&   mainrC   r   )r!   r   rG   r*   script_argsr&   s         r"   run_profilingrM   9   s    "lldll0AG	$))T\\		7QUQZQZ[ ^F%(%5%9+ab/rKK  J 	,Jr$   c                  6    t               \  } }t        | |       y )N)r#   rM   )r!   r   s     r"   rK   rK   L   s    ')D+$$r$   r.   )r   r4   r'   profiler   r   r   flagsr   r#   r+   rC   rM   rK   r-    r$   r"   <module>rR      sD     
 	 5 5 #"&0!4&%
 zF r$   