
    ci              
       N   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j2                  j4                  ej2                  j6                  ej2                  j8                  ej2                  j:                  ej2                  j<                  ej2                  j>                  ej2                  j@                  ej2                  jB                  ej2                  jD                  d		Z# G d
 de	      Z$e$jJ                  e$jL                  e$jN                  e$jP                  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.y)    )	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y)Optimize
time_shiftsched_storessched_barriersclock32c                     | j                   S )N)valueselfs    N/var/www/html/engine/venv/lib/python3.12/site-packages/triton/profiler/mode.py__str__zOptimize.__str__*   s    zz    N)__name__
__module____qualname__	TIMESHIFTSCHED_STORESSCHED_BARRIERSCLOCK32r#    r$   r"   r   r   $   s    I!L%NGr$   r   )r   r   r   r   T)frozenc                       e Zd ZU eed<   y)BaseModenameN)r%   r&   r'   str__annotations__r,   r$   r"   r/   r/   6   s    
Ir$   r/   c                   F    e Zd ZU  edd      Zeed<   dZeed<   d Z	d Z
y	)

PCSampling
pcsamplingFdefaultinitr0   i  intervalc                 8    | j                   dk  rt        d      y )Nr   z$Interval must be a positive integer.)r9   
ValueErrorr    s    r"   __post_init__zPCSampling.__post_init__@   s    ==ACDD r$   c                 8    | j                    d| j                   S )Nz
:interval=)r0   r9   r    s    r"   r#   zPCSampling.__str__D   s    ))Jt}}o66r$   N)r%   r&   r'   r   r0   r1   r2   r9   intr<   r#   r,   r$   r"   r4   r4   ;   s(    l7D#7HcE7r$   r4   c                      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y)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           	      T   dt         fdt        fdt        fdt        fdt        fg}|D ]Q  \  }}t        | |      }t        |t              s#||vrt        d| d|       t        j                  | |||          S t        | d      }t        |t              rt        |      d	kD  r-|j                  d
      D cg c]  }|j                          c}ng }|D ]  }|t        vst        d|        t        j                  | d|D cg c]  }t        |    c}       y y c c}w c c}w )NrA   rB   rE   rF   rG   zUnknown z: rJ   r   ,zUnknown optimization: )metric_typessampling_strategiesgranularitiesbuffer_strategiesbuffer_typesgetattr
isinstancer1   r;   object__setattr__lensplitstriprJ   )r!   mappings
field_namelookupr   
values_strvaluess          r"   r<   z!InstrumentationMode.__post_init__T   sA    L) "56M* 12L)
 #+ 	DJD*-E%%&$x
|2eW%EFF""4VE]C	D T?3
j#&KNz?]^K^1A1A#1FGekkmGdfF G-$'=eW%EFFG t_Y_6`PU}U7K6`a 'G 7as   9D D%c                 H   dj                  | j                  D cg c]  }t        |       c}      }| j                   d| j                   d| j
                   d| j                   d| j                   d| j                   d| j                   d| j                   d	| S c c}w )
NrL   z:metric_type=z:sampling_strategy=z:sampling_options=z:granularity=z:buffer_strategy=z:buffer_type=z:buffer_size=z:optimizations=)joinrJ   r1   r0   rA   rB   rD   rE   rF   rG   rH   )r!   optoptimizations_strs      r"   r#   zInstrumentationMode.__str__l   s    HH$:L:L%M3c#h%MN99+]4+;+;*<<OPTPfPfOg$T%:%:$;=IYIYHZ#D$8$8#9tGWGWFX 0 01AR@SU 	V &Ns   B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-:-F-F-L-LK**L9F9X9X9]9]}66]c-:-F-F-K-KK**K5B5R5R5[5[O]22[-:-F-F-M-MK**MK$)$$?M4>?b0Vr$   r@   c                   ,    e Zd ZU  edd      Zeed<   y)Defaultr7   Fr6   r0   Nr%   r&   r'   r   r0   r1   r2   r,   r$   r"   rp   rp   t   s    ie4D#4r$   rp   c                   ,    e Zd ZU  edd      Zeed<   y)MMAmmaFr6   r0   Nrq   r,   r$   r"   rs   rs   y   s    e%0D#0r$   rs   N)/dataclassesr   r   triton._C.libtritonr   rc   typingr   enumr   rd   re   rM   rj   rk   FLUSHrP   rl   rm   GLOBALrQ   rf   rg   	SELECTIVErN   rh   CTAri   WARP_2WARP_4WARP_8
WARP_GROUPWARP_GROUP_2WARP_GROUP_4WARP_GROUP_8rO   r   r(   r)   r*   r+   rJ   r/   r4   r@   rp   rs   r,   r$   r"   <module>r      s   ( 7  22889 --66**00  ''..''.. ++0000::  $$((%%**''..''..''..++66!--::!--::!--::
t  $$))--	 $   $	7 	7 	7 $(V( (V (VV $5! 5 5 $1
 1 1r$   