
    Pi              
       H   d dl mZmZ d dlmZ d dlmZ d dlm	Z	 dej
        j        iZej        j        ej        j        dZej        j        ej        j        dZej        j        ej        j        dZej        j        ej        j        ej        j        ej        j        ej        j        ej        j        ej        j         ej        j!        ej        j"        d		Z# G d
 de	          Z$e$j%        e$j&        e$j'        e$j(        dZ) ed           G d d                      Z* ed           G d de*                      Z+ ed           G d de*                      Z, ed           G d de,                      Z- ed           G d de,                      Z.dS )    )	dataclassfield)proton)List)Enumcycle)circularflush)sharedglobal)none	selective)	ctawarpwarp_2warp_4warp_8
warp_groupwarp_group_2warp_group_4warp_group_8c                   $    e Zd ZdZdZdZdZd ZdS )Optimize
time_shiftsched_storessched_barriersclock32c                     | j         S )N)valueselfs    l/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/triton/profiler/mode.py__str__zOptimize.__str__*   s
    z    N)__name__
__module____qualname__	TIMESHIFTSCHED_STORESSCHED_BARRIERSCLOCK32r#    r$   r"   r   r   $   s7        I!L%NG    r$   r   )r   r   r   r   T)frozenc                       e Zd ZU eed<   dS )BaseModenameN)r%   r&   r'   str__annotations__r,   r$   r"   r/   r/   6   s         
IIIIIr$   r/   c                   N    e Zd ZU  edd          Zeed<   dZeed<   d Z	d Z
d	S )

PCSampling
pcsamplingFdefaultinitr0   i  intervalc                 :    | j         dk    rt          d          d S )Nr   z$Interval must be a positive integer.)r9   
ValueErrorr    s    r"   __post_init__zPCSampling.__post_init__@   s&    =ACDDD r$   c                 $    | j          d| j         S )Nz
:interval=)r0   r9   r    s    r"   r#   zPCSampling.__str__D   s    )66t}666r$   N)r%   r&   r'   r   r0   r1   r2   r9   intr<   r#   r,   r$   r"   r4   r4   ;   sf         l777D#777HcE E E7 7 7 7 7r$   r4   c                   F   e Zd ZU dZej        j        Zej        ed<   ej	        j
        Zej	        ed<   dZeed<   ej        j        Zej        ed<   ej        j        Zej        ed<   ej        j        Zej        ed<   d	Zeed
<    ee          Zee         ed<   d Zd ZdS )InstrumentationModezFCommon base class for instrumentation modes with shared configuration.metric_typesampling_strategy sampling_optionsgranularitybuffer_strategybuffer_typer   buffer_size)default_factoryoptimizationsc                 l   dt           fdt          fdt          fdt          fdt          fg}|D ]e\  }}t          | |          }t          |t                    r;||vrt          d| d|           t          
                    | |||                    ft          | d          }t          |t                    r|t          |          d	k    rd
 |                    d          D             ng }|D ]}|t          vrt          d|           t          
                    | dd |D                        d S d S )NrA   rB   rE   rF   rG   zUnknown z: rJ   r   c                 6    g | ]}|                                 S r,   )strip.0r   s     r"   
<listcomp>z5InstrumentationMode.__post_init__.<locals>.<listcomp>f   s     GGGekkmmGGGr$   ,zUnknown optimization: c                 (    g | ]}t           |         S r,   )rJ   rN   s     r"   rP   z5InstrumentationMode.__post_init__.<locals>.<listcomp>j   s    6`6`6`PU}U7K6`6`6`r$   )metric_typessampling_strategiesgranularitiesbuffer_strategiesbuffer_typesgetattr
isinstancer1   r;   object__setattr__lensplitrJ   )r!   mappings
field_namelookupr   
values_strvaluess          r"   r<   z!InstrumentationMode.__post_init__T   s    L) "56M* 12L)
 #+ 	D 	DJD*--E%%% D&&$%E
%E%Ee%E%EFFF""4VE]CCCT?33
j#&& 	bKNz??]^K^K^GG1A1A#1F1FGGGGdfF G G--$%Ee%E%EFFF .t_6`6`Y_6`6`6`aaaaa	b 	br$   c                     d                     d | j        D                       }| j         d| j         d| j         d| j         d| j         d| j         d| j         d	| j	         d
| S )NrQ   c                 ,    g | ]}t          |          S r,   )r1   )rO   opts     r"   rP   z/InstrumentationMode.__str__.<locals>.<listcomp>m   s    %M%M%M3c#hh%M%M%Mr$   z:metric_type=z:sampling_strategy=z:sampling_options=z:granularity=z:buffer_strategy=z:buffer_type=z:buffer_size=z:optimizations=)
joinrJ   r0   rA   rB   rD   rE   rF   rG   rH   )r!   optimizations_strs     r"   r#   zInstrumentationMode.__str__l   s    HH%M%M$:L%M%M%MNN9 U U4+; U UPTPf U U%)%:U UIMIYU U$($8U UGKGWU U !% 0U U BSU U 	Vr$   N) r%   r&   r'   __doc__triton_protonMETRIC_TYPECYCLErA   r2   SAMPLING_STRATEGYNONErB   rD   r1   GRANULARITYWARPrE   BUFFER_STRATEGYCIRCULARrF   BUFFER_TYPESHAREDrG   rH   r>   r   listrJ   r   r   r<   r#   r,   r$   r"   r@   r@   H   s        PP-:-F-LK*LLL9F9X9]}6]]]c-:-F-KK*KKK5B5R5[O]2[[[-:-F-MK*MMMK$)E$$?$?$?M4>???b b b0V V V V Vr$   r@   c                   4    e Zd ZU  edd          Zeed<   dS )Defaultr7   Fr6   r0   Nr%   r&   r'   r   r0   r1   r2   r,   r$   r"   rv   rv   t   s1         ie444D#44444r$   rv   c                   4    e Zd ZU  edd          Zeed<   dS )MMAmmaFr6   r0   Nrw   r,   r$   r"   ry   ry   y   s1         e%000D#00000r$   ry   N)/dataclassesr   r   triton._C.libtritonr   ri   typingr   enumr   rj   rk   rS   rp   rq   FLUSHrV   rr   rs   GLOBALrW   rl   rm   	SELECTIVErT   rn   CTAro   WARP_2WARP_4WARP_8
WARP_GROUPWARP_GROUP_2WARP_GROUP_4WARP_GROUP_8rU   r   r(   r)   r*   r+   rJ   r/   r4   r@   rv   ry   r,   r$   r"   <module>r      s   ( ( ( ( ( ( ( ( 7 7 7 7 7 7            289 -6*0   '.'.  +00:   $(%*'.'.'.+6!-:!-:!-:
 
    t    $)-	  $        $	7 	7 	7 	7 	7 	7 	7 	7 $(V (V (V (V (V( (V (V (VV $5 5 5 5 5! 5 5 5 $1 1 1 1 1
 1 1 1 1 1r$   