§
    ÕóÉj‘  ã                  óÒ   — d Z ddlmZ ddlZddlZddlZddlZddlmZ ddl	m
Z
 ddlZddlZddlmZ ddd„Zej        dd„¦   «         Zddd„Zedk    r e e¦   «         ¦  «        ‚dS )zÊRun a Python script under Triton Global Memory Sanitizer.

This module provides a small command-line wrapper runs the wrapped script with GSan enabled, e.g.
    python -m triton.tools.gsan my_script.py
é    )ÚannotationsN)ÚPath)ÚSequence)Úcreate_mem_poolÚargvúSequence[str] | NoneÚreturnútuple[Path, list[str], str]c                óN  — t          j        d¬¦  «        }|                     dd¬¦  «         |                     dt           j        d¬¦  «         |                     | ¦  «        }t          |j        ¦  «        }|d d	…         d
gk    r
|d	d …         }t          |j        ¦  «        |fS )Nz8Run a Python script with Triton Global Memory Sanitizer.)ÚdescriptionÚscriptzPython script to execute)ÚhelpÚscript_argsz(Arguments forwarded to the target script)Únargsr   é   z--)	ÚargparseÚArgumentParserÚadd_argumentÚ	REMAINDERÚ
parse_argsÚlistr   r   r   )r   ÚparserÚargsr   s       úv/home/lighthouse/badge-speaker-benchmark/.benchmark-venv-community/lib64/python3.11/site-packages/triton/tools/gsan.pyÚ_parse_argsr      s©   € ÝÔ$Ð1kÐlÑlÔl€FØ
×Ò˜Ð'AÐÑBÔBÐBØ
×Ò˜­XÔ-?ÐFpÐÑqÔqÐqØ×Ò˜TÑ"Ô"€Då�tÔ'Ñ(Ô(€KØ�2�A�2„˜4˜&Ò Ð Ø! ! " "”oˆå�”ÑÔ˜kÐ)Ð)ó    Úscript_pathr   r   úSequence[str]c              #  ó~  K  — t           j        d d …         }t           j        d d …         }t          | ¦  «        g|¢t           _        t           j                             dt          | j        ¦  «        ¦  «         	 | V — |t           _        |t           j        d d …<   d S # |t           _        |t           j        d d …<   w xY w)Nr   )Úsysr   ÚpathÚstrÚinsertÚparent)r   r   Úoriginal_argvÚoriginal_paths       r   Ú_script_contextr'   "   s¬   è è € å”H˜Q˜Q˜Q”K€MÝ”H˜Q˜Q˜Q”K€Må�KÑ Ô Ð/ ;Ð/…C„HÝ„H‡O‚O�A•s˜;Ô-Ñ.Ô.Ñ/Ô/Ð/ð$ØÐÐÐà �ŒØ#�Œ���‰ˆˆøð !�ŒØ#�Œ���‰Ð#Ð#Ð#Ð#s   Á:B ÂB<Úintc                óæ  — t          | ¦  «        \  }}|                     ¦   «         }|                     ¦   «         st          d|› �¦  «        ‚dt          j        j        _        t          j	         
                    t          ¦   «         ¦  «        5  t          ||¦  «        5  t          j        t          |¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   dS )NzScript not found: ÚgsanÚ__main__)Úrun_namer   )r   ÚresolveÚis_fileÚFileNotFoundErrorÚtritonÚknobsÚcompilationÚinstrumentation_modeÚtorchÚcudaÚuse_mem_poolr   r'   ÚrunpyÚrun_pathr"   )r   r   r   s      r   Úmainr9   0   sX  € Ý*¨4Ñ0Ô0Ñ€K�à×%Ò%Ñ'Ô'€KØ×ÒÑ Ô ð DÝÐ B°[Ð BÐ BÑCÔCÐCà4:…F„LÔÔ1å	Œ×	 Ò	 ¥Ñ!2Ô!2Ñ	3Ô	3ð >ð >Ý˜ [Ñ1Ô1ð>ð >åŒ•s˜;Ñ'Ô'°*Ð=Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð >ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð ˆ1s6   ÂC&Â$CÃC&ÃC	ÃC&ÃC	ÃC&Ã&C*Ã-C*r+   )N)r   r   r	   r
   )r   r   r   r   )r   r   r	   r(   )Ú__doc__Ú
__future__r   r   Ú
contextlibr7   r    Úpathlibr   Útypingr   r0   r4   Ú#triton.experimental.gsan._allocatorr   r   Úcontextmanagerr'   r9   Ú__name__Ú
SystemExit© r   r   ú<module>rD      s  ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à €€€Ø €€€Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?ð
*ð 
*ð 
*ð 
*ð 
*ð Ôð
$ð 
$ð 
$ñ Ôð
$ðð ð ð ð ð ˆzÒÐØ
ˆ*�T�T‘V”VÑ
Ô
Ðð Ðr   