+
    ‹°³jÚ| ã                  óÌ   € ^ RI Ht ^ RIt^ RIt^ RIHtHtHtHtH	t	H
t
Ht ^ RIt^ RIHt ^RIHt ^RIHt ]	! R4      t]	! R4      t ! R	 R
]4      t ! R R]
],          4      tR# )é    )ÚannotationsN)ÚListÚOptionalÚSequenceÚTupleÚTypeVarÚGenericÚType)Údriver)Úir)ÚcoreÚTÚTensorTyc                  ó(   a € ] tR t^tV 3R ltRtV ;t# )ÚIncompatibleTypeErrorImplc                	óò   <€ Wn         W n        R V P                   P                  4       ,           R,           V P                  P                  4       ,           V n        \        \
        V `  V P                  4       R# )zinvalid operands of type ú and N)Útype_aÚtype_bÚ__repr__ÚmessageÚsuperr   Ú__init__)Úselfr   r   Ú	__class__s   &&&€ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/triton/language/semantic.pyr   Ú"IncompatibleTypeErrorImpl.__init__   sT   ø€ ØŒØŒØ2°T·[±[×5IÑ5IÓ5KÕKÈgÕUÐX\×XcÑXc×XlÑXlÓXnÕnˆŒÜÔ'¨Ñ7¸¿¹ÖEó    )r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r      s   ø† ÷Fó Fr   r   c                  óJ  € ] tR t^t$ ]P
                  tR]R&   ]tR]R&   R tR R lt	R R	 lt
R
 R ltR R ltRÙR ltR tR R ltRÚR R lltR R ltR R ltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR& R' ltR( R) ltR* R+ ltR, R- ltR. R/ ltR0 R1 ltR2 R3 lt R4 R5 lt!R6 R7 lt"R8 R9 lt#R: R; lt$R< R= lt%R> R? lt&R@ RA lt'RB RC lt(RD RE lt)RF RG lt*RH RI lt+RJ RK lt,RL RM lt-RN RO lt.RP RQ lt/RRRS/RT RU llt0RV RW lt1RX RY lt2RZ R[ lt3R\ R] lt4R^ R_ lt5R` Ra lt6Rb Rc lt7Rd Re lt8Rf Rg lt9Rh Ri lt:Rj Rk lt;Rl Rm lt<Rn Ro lt=Rp Rq lt>Rr Rs lt?RÛRt Ru llt@Rv tARw tBRx tCRy tDRz tER{ tFR| R} ltGR~ R ltHR€ R� ltIR‚ Rƒ ltJR„ R… ltKR† tLR‡ tMRˆ R‰ ltNRŠ R‹ ltORŒ R� ltPRŽ R� ltQR� R‘ ltRR’ R“ ltSR” R• ltTR– tUR— R˜ ltVR™ Rš ltWR› Rœ ltXR� Rž ltYRŸ R  ltZR¡ R¢ lt[R£ R¤ lt\R¥ R¦ lt]R§ R¨ lt^R© Rª lt_R« R¬ lt`R­ taR® R¯ ltbR° R± ltcR² R³ ltdR´ teRµ tfR¶ R· ltgR¸ R¹ lthRº tiR» R¼ ltjR½ R¾ ltkR¿ RÀ ltlRÁ tmRÂ RÃ ltnRÄ RÅ ltoRÆ RÇ ltpRÈ RÉ ltqRÊ RË ltrRÌ RÍ ltsRÎ RÏ lttRÐ RÑ ltuRÒ RÓ ltvRÔ twRÙRÕ ltxRÜRÖ R× lltyRØtzRS# )ÝÚTritonSemanticzType[TensorTy]Útensorz
ir.builderÚbuilderc                	ó   € Wn         R # ©N©r(   )r   r(   s   &&r   r   ÚTritonSemantic.__init__    s   € ØŽr   c               ó    € V ^8„  d   QhRRRR/# ©é   ÚaxisÚintÚreturnr   © )Úformats   "r   Ú__annotate__ÚTritonSemantic.__annotate__'   s   € ÷ Oñ O˜sð O xñ Or   c                	óž   € VR9  d   \        RV 24      hV P                  V P                  P                  V4      \        P
                  4      # )r   z+program_id axis must be 0, 1, or 2 but got ©r   é   r/   )Ú
ValueErrorr'   r(   Úcreate_get_program_idÚtlÚint32©r   r0   s   &&r   Ú
program_idÚTritonSemantic.program_id'   sA   € Ø�yÔ ÜÐJÈ4È&ÐQÓRÐRØ�{‰{˜4Ÿ<™<×=Ñ=¸dÓCÄRÇXÁXÓNÐNr   c               ó    € V ^8„  d   QhRRRR/# r.   r3   )r4   s   "r   r5   r6   ,   s   € ÷ Qñ Q ð Q¨ñ Qr   c                	óž   € VR9  d   \        RV 24      hV P                  V P                  P                  V4      \        P
                  4      # )r   z-num_programs axis must be 0, 1, or 2 but got r8   )r:   r'   r(   Úcreate_get_num_programsr<   r=   r>   s   &&r   Únum_programsÚTritonSemantic.num_programs,   sA   € Ø�yÔ ÜÐLÈTÈFÐSÓTÐTØ�{‰{˜4Ÿ<™<×?Ñ?ÀÓEÄrÇxÁxÓPÐPr   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   Úa_tyútl.dtypeÚb_tyr2   r3   )r4   s   "r   r5   r6   5   s&   € ÷ Dñ D¨ð D¸ð DÀhñ Dr   c                	óp  € VP                   pVP                   pVP                  pVP                  pWV8X  d   W48”  d   V# T# V\        P                  P                  P
                  8X  d   W48¼  d   V# T# V\        P                  P                  P
                  8X  d   WC8¼  d   V# T# \        R V RV 24      h)zunexpected signedness r   )Úint_bitwidthÚint_signednessr<   ÚdtypeÚ
SIGNEDNESSÚUNSIGNEDÚ	TypeError)r   rG   rI   Úa_rankÚb_rankÚa_snÚb_sns   &&&    r   Úinteger_promote_implÚ#TritonSemantic.integer_promote_impl5   s­   € Ø×"Ñ"ˆØ×"Ñ"ˆØ×"Ñ"ˆØ×"Ñ"ˆð Œ<Ø!œ?�4Ð4°Ð4Ø”R—X‘X×(Ñ(×1Ñ1Ô1Ø!Ô+�4Ð5°Ð5Ø”R—X‘X×(Ñ(×1Ñ1Ô1Ø!Ô+�4Ð5°Ð5ÜÐ0°°°e¸D¸6ÐBÓCÐCr   c               ó0   € V ^8„  d   QhRRRRRRRRRRRR/# )	r/   rG   rH   Úa_is_scalarÚboolrI   Úb_is_scalarÚ
div_or_modr2   r3   )r4   s   "r   r5   r6   D   s9   € ÷ 05ñ 05¨(ð 05Àð 05ÈXð 05Ðdhð 05Ø*.ð05Ø3;ñ05r   c                	óÂ  € W$8w  d‡   V'       d   W3MW13w  rgVP                  4       P                  VP                  4       P                  8:  d@   V'       d6   V\        P                  \        P                  39   d   \        P
                  # V# VP                  4       '       g   VP                  4       '       d   \        P                  # VP                  4       '       g   VP                  4       '       d   \        P
                  # VP                  4       '       g   VP                  4       '       d)   V'       d   \        P
                  # \        P                  # VP                  4       '       d?   VP                  4       '       d)   V'       d   \        P
                  # \        P                  # VP                  4       '       g   VP                  4       '       d   \        P
                  # VP                  4       '       d/   VP                  4       '       d   W8X  d   V# \        P                  # VP                  4       '       d   VP                  4       '       g   \        R V RV 24      hV'       d_   VP                  VP                  8w  dD   \        RVP                  4       ,           R,           VP                  4       ,           R,           4      hV P!                  W4      # )úunexpected type r   zCannot use /, #, or % with úx because they have different signedness;this is unlikely to result in a useful answer. Cast them to the same signedness.)ÚkindÚvaluer<   Úfloat16Úbfloat16Úfloat32Úis_fp64Úfloat64Úis_fp32Úis_fp16Úis_bf16Úis_fp8Úis_intrP   rL   r   rU   )r   rG   rX   rI   rZ   r[   Ú	scalar_tyÚ	tensor_tys   &&&&&&  r   Úcomputation_type_implÚ$TritonSemantic.computation_type_implD   sÜ  € ð
 Ô%ß3> D¡<ÀTÀLÑ ˆIØ�~‰~Ó×%Ñ%¨¯©Ó)9×)?Ñ)?Ô?ç 9´·±¼R¿[¹[Ð0IÔ#IÜŸ:™:Ð%Ø Ð ð �<‰<�>Š>˜TŸ\™\Ÿ^š^Ü—:‘:Ðð �<‰<�>Š>˜TŸ\™\Ÿ^š^Ü—:‘:Ðð �<‰<�>Š>˜TŸ\™\Ÿ^š^ßÜ—z‘zÐ!ä—z‘zÐ!à�<‰<�>Š>˜dŸl™lŸnšnßÜ—z‘zÐ!ä—{‘{Ð"Ø�<‰<�>Š>˜TŸ\™\Ÿ^š^Ü—:‘:Ðà�;‰;�=Š=˜TŸ[™[Ÿ]š]Øœ<�4Ð7¬R¯Z©ZÐ7Ø�{‰{�}Š} D§K¡K§M¢MÜÐ.¨t¨f°E¸$¸Ð@ÓAÐA÷ ˜$×-Ñ-°×1DÑ1DÔDÜÐ9¸D¿M¹M»OÕKÈgÕUÐX\×XeÑXeÓXgÕgðoõoó pð pð ×(Ñ(¨Ó4Ð4r   c                	ój  € \        WP                  4      '       d   V# \        V\        P                  4      '       d   VP                  MTp\        V\
        \        \        34      '       d$   V P                  V4      pV P                  WR 7      # V'       d   \        RV R\        V4       R24      hV# )©rM   úcannot convert ú	 of type ú
 to tensor)Ú
isinstancer'   r<   Ú	constexprr`   r1   ÚfloatrY   Úto_tensor_typeÚscalar_constantrP   Útype)r   ÚxÚ
check_typerM   s   &&& r   Ú	to_tensorÚTritonSemantic.to_tensorv   s�   € Ü�aŸ™×%Ò%ØˆHÜ! !¤R§\¡\×2Ò2ˆA�GŠG¸ˆÜ�aœ#œu¤dÐ+×,Ò,Ø×'Ñ'¨Ó*ˆEØ×'Ñ'¨Ð'Ó7Ð7ßÜ˜o¨a¨S°	¼$¸q»'¸À*ÐMÓNÐNØˆr   c                	óÈ  € \        V\        P                  4      '       d   V# \        V\        P                  4      '       d   VP                  p\        V\
        4      '       d   \        P                  # \        V\        4      '       d”   R	Tu;8:  d   R8  d    \        P                  #  RTu;8:  d   R
8  d    \        P                  #  RTu;8:  d   R8  d    \        P                  #  RTu;8:  d   R8  d    \        P                  #  \        RV R24      h\        V\        4      '       d–   RpR^^,          ,          p\        P                  ! V4      pV\        R4      8X  g>   VR8X  g7   W8w  g1   Y$u;8:  d   V8:  d3    \        P                   #  \        P"                  # \        P                   # \        P"                  # \%        RV R\'        V4       R24      h)r/   zNonrepresentable integer Ú.Úinfg        rq   rr   rs   ì        é   €l        ì            ìûÿÿÿ         l            g      8g   àÿÿÿ?)rt   r<   rM   Úconstexpr_typer`   rY   Úint1r1   r=   Úuint32Úint64Úuint64r:   rv   ÚbuiltinsÚabsrc   re   rP   ry   )r   rz   Úmin_float32Úmax_float32Úabs_xs   &&   r   rw   ÚTritonSemantic.to_tensor_type�   sy  € Ü�aœŸ™×"Ò"ØˆHÜ˜œ2×,Ñ,×-Ò-Ø—‘ˆAä�aœ×ÒÜ—7‘7ˆNÜ˜œ3×ÒØ˜Ö"˜UÕ"Ü—x‘x�ð #à˜!Ö#˜eÕ#Ü—y‘yÐ ð $à˜1Ö$˜uÕ$Ü—x‘x�ð %à˜!Ö#˜eÕ#Ü—y‘yÐ ð $äÐ8¸¸¸1Ð=Ó>Ð>Ü˜œ5×!Ò!Ø!ˆKØ%¨¨C­Õ/ˆKÜ—L’L “OˆEØœ˜e›Ô$Ø˜Œ|ØŒvØÖ2 {Õ2Ü—z‘zÐ!ð 3ô —z‘zÐ!ô —z‘zÐ!ä—z‘zÐ!Ü˜/¨!¨¨I´d¸1³g°Y¸jÐIÓJÐJr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   r   rH   r   Úallow_ptr_arY   r2   ÚNoner3   )r4   s   "r   r5   r6   ¤   s0   € ÷ 	@ñ 	@¨(ð 	@¸Hð 	@ÐSWð 	@Ð\`ñ 	@r   c                	óì   € VP                  4       '       d^   V'       g   \        W4      hVP                  4       '       d   W8w  d   \        W4      hVP                  4       '       d   \        W4      hR # R # r*   )Úis_ptrr   Úis_floating)r   r   r   r‘   s   &&&&r   Úcheck_ptr_type_implÚ"TritonSemantic.check_ptr_type_impl¤   sZ   € Ø�=‰=�?Š?ßÜ/°Ó?Ð?à�}‰}�Š FÔ$4Ü/°Ó?Ð?à×!Ñ!×#Ò#Ü/°Ó?Ð?ñ $ñ r   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   ÚlhsúTensorTy | numbers.NumberÚrhsr2   úTuple[TensorTy, TensorTy]r3   )r4   s   "r   r5   r6   ¯   s$   € ÷ #ñ #Ð0Ið #ÐPið #à:Sñ#r   c                	óÔ  € \        V\        P                  4      p\        V\        P                  4      pV'       d   Tp	V P                  V4      pV'       d   Tp
V P                  V4      pVP                  P
                  pVP                  P
                  pV P                  W¼V4       V P                  WËV4       V'       Ed‘   VP                  4       '       Egz   VP                  4       '       Egc   V P                  W·WÈV4      pV'       d   X	^ 8  d   VP                  4       '       g&   V'       d)   X
^ 8  d"   VP                  4       '       d   \        R4      hVP                  4       '       d�   V'       d?   VP                  4       X	u;8:  d   VP                  4       8:  g   M \        RV	 RV 24      hV'       d?   VP                  4       X
u;8:  d   VP                  4       8:  g   M \        RV
 RV 24      hV'       d   V P                  X	VR7      MV P                  W4      pV'       d   V P                  X
VR7      MV P                  W-4      pV P!                  W4      w  rW3# )r   z{Cannot perform a binary operation between an unsigned tensor and a negative scalar. Perform a explicit cast on one of them.zScalar z is out of range for type rp   )rt   ÚnumbersÚNumberr|   ry   Úscalarr–   r”   rm   Úis_int_unsignedr:   rj   Úget_int_min_valueÚget_int_max_valuerx   ÚcastÚbroadcast_impl_value)r   r™   r›   Úallow_lhs_ptrÚallow_rhs_ptrÚarithmetic_checkr[   Úlhs_is_scalarÚrhs_is_scalarÚ
lhs_scalarÚ
rhs_scalarÚ
lhs_sca_tyÚ
rhs_sca_tyÚ
ret_sca_tys   &&&&&&&       r   Úbinary_op_type_checking_implÚ+TritonSemantic.binary_op_type_checking_impl¯   s  € ô # 3¬¯©Ó7ˆÜ" 3¬¯©Ó7ˆßØˆJØ—.‘. Ó%ˆCßØˆJØ—.‘. Ó%ˆCð —X‘X—_‘_ˆ
Ø—X‘X—_‘_ˆ
Ø× Ñ  ¸ÔGØ× Ñ  ¸ÔGßÐ J×$5Ñ$5×$7Ó$7À
×@QÑ@Q×@SÓ@SØ×3Ñ3°JÈzÐjtÓuˆJß *¨q¤.°Z×5OÑ5O×5QÒ5Qß$¨°a¬¸J×<VÑ<V×<XÒ<XÜ ð "Kó Lð Là× Ñ ×"Ò"ß ¨*×*FÑ*FÓ*HÈJö +IØ*4×*FÑ*FÓ*Hö+Iä$ w¨z¨lÐ:TÐU_ÐT`Ð%aÓbÐbß ¨*×*FÑ*FÓ*HÈJö +IØ*4×*FÑ*FÓ*Hö+Iä$ w¨z¨lÐ:TÐU_ÐT`Ð%aÓbÐbßHU�$×&Ñ& z¸Ð&ÔDÐ[_×[dÑ[dÐehÓ[uˆCßHU�$×&Ñ& z¸Ð&ÔDÐ[_×[dÑ[dÐehÓ[uˆCð ×,Ñ,¨SÓ6‰ˆØˆxˆr   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   r™   r   r›   Ú	binary_opÚcallabler3   )r4   s   "r   r5   r6   Ô   s"   € ÷ ,ñ ,°Hð ,À8ð ,ÐX`ñ ,r   c                	ól  € VP                   P                  P                  ^@8¼  g'   V P                  P                  P
                  '       g   R# VP                   P                  pVP                   P                  pWE8X  g   Q RV RV 24       hVP                  4       '       g   Q RV 24       hV P                  V\        P                  4      pV P                  V\        P                  4      pV! WR4      pVP                  4       pV P                  V\        P                  4      pVP                  4       pV P                  V\        P                  4      pV P                  V P                  Wg4      V P                  Wh4      4      p	RVP                   RVP                    2p
V P#                  WšR4       R# )é@   Nz%expected matching operand types, got r   zexpected integer type, got Fr1   z! overflow detected for operation )ry   r    rK   r(   ÚoptionsÚsanitize_overflowrj   r¤   r<   rˆ   r£   rx   r¢   Úand_Ú
less_equalÚgreater_equalr   Údevice_assert)r   r™   r›   r³   r­   r®   ÚretÚ	max_valueÚ	min_valueÚcondÚmsgs   &&&&       r   Ú binary_op_sanitize_overflow_implÚ/TritonSemantic.binary_op_sanitize_overflow_implÔ   sa  € Ø�8‰8�?‰?×'Ñ'¨2Ô-°T·\±\×5IÑ5I×5[×5[Ð5[ÙØ—X‘X—_‘_ˆ
Ø—X‘X—_‘_ˆ
ØÔ'ÐnÐ+PÐQ[ÐP\Ð\aÐblÐamÐ)nÓnÐ'Ø× Ñ ×"Ò"ÐNÐ&AÀ*ÀÐ$NÓNÐ"Ø�i‰i˜œRŸX™XÓ&ˆØ�i‰i˜œRŸX™XÓ&ˆÙ˜ %Ó(ˆØ×0Ñ0Ó2ˆ	Ø×(Ñ(¨´B·H±HÓ=ˆ	Ø×0Ñ0Ó2ˆ	Ø×(Ñ(¨´B·H±HÓ=ˆ	Ø�y‰y˜Ÿ™¨Ó8¸$×:LÑ:LÈSÓ:\Ó]ˆØ�J×+Ñ+Ð,Ð,MÈi×N`ÑN`ÐMaÐbˆØ×Ñ˜4 dÖ+r   c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r/   Úinputrš   Úotherr¸   rY   r2   r   r3   )r4   s   "r   r5   r6   æ   s,   € ÷ >ñ >Ð2ð >Ð;Tð >Ø#ð>Ø(0ñ>r   c                	ó–  € V P                  WR R 4      w  rVP                  P                  pVP                  P                  pVP                  4       '       d"   VP                  4       '       d   \	        R4      hVP                  4       '       dE   VP                  4       '       g/   Y!r!VP                  P                  pVP                  P                  pVP                  4       '       dñ   VP
                  pVP                  P                  4       '       d…   VP                  P                  ^@8  dj   VP                  P                  \        P                  4      P                  V P                  4      pV P                  P                  VP
                  VR4      pV P                  V P                  P!                  VP
                  V4      VP                  4      # VP#                  4       '       dK   V P                  V P                  P%                  VP
                  VP
                  4      VP                  4      # VP'                  4       '       do   V'       d   V P)                  WV P*                  4       V P                  V P                  P-                  VP
                  VP
                  4      VP                  4      # \	        RV 24      h)Tzcannot add pointers togetherFr]   )r°   ry   r    r”   rP   ÚhandlerM   r¡   rK   Úwith_element_tyr<   rˆ   Úto_irr(   Úcreate_int_castr'   Úcreate_addptrr•   Úcreate_faddrj   rÂ   ÚaddÚ
create_add)r   rÆ   rÇ   r¸   Úinput_scalar_tyÚother_scalar_tyÚother_handleÚi64_tys   &&&&    r   rÏ   ÚTritonSemantic.addæ   sù  € à×8Ñ8¸ÀtÈTÓR‰ˆØŸ*™*×+Ñ+ˆØŸ*™*×+Ñ+ˆØ×!Ñ!×#Ò#¨×(>Ñ(>×(@Ò(@ÜÐ:Ó;Ð;ð ×!Ñ!×#Ò#¨O×,BÑ,B×,DÒ,DØ �5Ø#Ÿj™j×/Ñ/ˆOØ#Ÿj™j×/Ñ/ˆOØ×!Ñ!×#Ò#Ø Ÿ<™<ˆLØ�{‰{×*Ñ*×,Ò,°·±×1IÑ1IÈBÔ1NàŸ™×3Ñ3´B·H±HÓ=×CÑCÀDÇLÁLÓQ�Ø#Ÿ|™|×;Ñ;¸E¿L¹LÈ&ÐRWÓX�Ø—;‘;˜tŸ|™|×9Ñ9¸%¿,¹,ÈÓUÐW\×WaÑWaÓbÐbà×(Ñ(×*Ò*Ø—;‘;˜tŸ|™|×7Ñ7¸¿¹ÀeÇlÁlÓSÐUZ×U_ÑU_Ó`Ð`à×#Ñ#×%Ò%ß Ø×5Ñ5°eÀDÇHÁHÔMØ—;‘;˜tŸ|™|×6Ñ6°u·|±|ÀUÇ\Á\ÓRÐTY×T^ÑT^Ó_Ð_ÜÐ*¨?Ð*;Ð<Ó=Ð=r   c               ó(   € V ^8„  d   QhRRRRRRRR/# rÅ   r3   )r4   s   "r   r5   r6     s,   € ÷ 8ñ 8Ð2ð 8Ð;Tð 8Ø#ð8Ø(0ñ8r   c                	ó¬  € V P                  WR R4      w  rVP                  P                  pVP                  4       '       d#   V P	                  WP                  V4      RR7      # VP                  4       '       dK   V P                  V P                  P                  VP                  VP                  4      VP                  4      # VP                  4       '       do   V'       d   V P                  WV P                  4       V P                  V P                  P                  VP                  VP                  4      VP                  4      # \        RV 24      h)TF)r¸   r]   )r°   ry   r    r”   rÏ   Úminusr•   r'   r(   Úcreate_fsubrÉ   rj   rÂ   ÚsubÚ
create_subrP   ©r   rÆ   rÇ   r¸   rk   s   &&&& r   rÚ   ÚTritonSemantic.sub  sü   € à×8Ñ8¸ÀtÈUÓS‰ˆØ—J‘J×%Ñ%ˆ	à×Ñ×ÒØ—8‘8˜E§:¡:¨eÓ#4È�8ÓNÐNà× Ñ ×"Ò"Ø—;‘;˜tŸ|™|×7Ñ7¸¿¹ÀeÇlÁlÓSÐUZ×U_ÑU_Ó`Ð`à×Ñ×Òß Ø×5Ñ5°eÀDÇHÁHÔMØ—;‘;˜tŸ|™|×6Ñ6°u·|±|ÀUÇ\Á\ÓRÐTY×T^ÑT^Ó_Ð_ÜÐ*¨9¨+Ð6Ó7Ð7r   c               ó(   € V ^8„  d   QhRRRRRRRR/# rÅ   r3   )r4   s   "r   r5   r6     s,   € ÷ 8ñ 8Ð2ð 8Ð;Tð 8Ø#ð8Ø(0ñ8r   c                	ó8  € V P                  W4      w  rVP                  P                  pVP                  4       '       dK   V P	                  V P
                  P                  VP                  VP                  4      VP                  4      # VP                  4       '       do   V'       d   V P                  WV P                  4       V P	                  V P
                  P                  VP                  VP                  4      VP                  4      # \        R V 24      h©r]   )r°   ry   r    r•   r'   r(   Úcreate_fmulrÉ   rj   rÂ   ÚmulÚ
create_mulrP   rÜ   s   &&&& r   râ   ÚTritonSemantic.mul  sÍ   € à×8Ñ8¸ÓF‰ˆØ—J‘J×%Ñ%ˆ	à× Ñ ×"Ò"Ø—;‘;˜tŸ|™|×7Ñ7¸¿¹ÀeÇlÁlÓSÐUZ×U_ÑU_Ó`Ð`à×Ñ×Òß Ø×5Ñ5°eÀDÇHÁHÔMØ—;‘;˜tŸ|™|×6Ñ6°u·|±|ÀUÇ\Á\ÓRÐTY×T^ÑT^Ó_Ð_ÜÐ*¨9¨+Ð6Ó7Ð7r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r/   rÆ   rš   rÇ   r2   r   r3   )r4   s   "r   r5   r6   $  s)   € ÷ ]ñ ]Ð6ð ]Ð?Xð ]Ð]eñ ]r   c                	óâ  € V P                  WR R RR4      w  rVP                  P                  pVP                  P                  pVP                  4       '       d*   VP	                  4       '       d   V P                  W#4      pEM$VP	                  4       '       d)   VP                  4       '       d   V P                  W4      pMæVP	                  4       '       dX   VP	                  4       '       dB   V P                  V\        P                  4      pV P                  V\        P                  4      pMyVP                  4       '       dV   VP                  4       '       d@   VP                  VP                  8”  d   V P                  W#4      pM V P                  W4      pM\        RV 24      hV P                  V P                  P                  VP                  VP                  4      VP                  4      # ©FTr]   )r°   ry   r    r•   rj   r¤   r<   rc   Úfp_mantissa_widthrP   r'   r(   Úcreate_fdivrÉ   )r   rÆ   rÇ   rÑ   rÒ   s   &&&  r   ÚtruedivÚTritonSemantic.truediv$  sk  € Ø×8Ñ8¸ÀuÈeÐUYÐ[_Ó`‰ˆØŸ*™*×+Ñ+ˆØŸ*™*×+Ñ+ˆà×&Ñ&×(Ò(¨_×-CÑ-C×-EÒ-EØ—I‘I˜eÓ5ŠEà×#Ñ#×%Ò%¨/×*EÑ*E×*GÒ*GØ—I‘I˜eÓ5‰Eà×#Ñ#×%Ò%¨/×*@Ñ*@×*BÒ*BØ—I‘I˜e¤R§Z¡ZÓ0ˆEØ—I‘I˜e¤R§Z¡ZÓ0‰Eà×(Ñ(×*Ò*¨×/JÑ/J×/LÒ/LØ×0Ñ0°?×3TÑ3TÔTØŸ	™	 %Ó9‘àŸ	™	 %Ó9‘ô Ð.¨Ð.?Ð@ÓAÐAØ�{‰{˜4Ÿ<™<×3Ñ3°E·L±LÀ%Ç,Á,ÓOÐQV×Q[ÑQ[Ó\Ð\r   c               ó$   € V ^8„  d   QhRRRRRR/# ræ   r3   )r4   s   "r   r5   r6   =  s$   € ÷ >ñ >Ð7ð >Ð@Yð >Ð^fñ >r   c                	ó¶  € V P                  WR R RR4      w  rVP                  P                  pVP                  P                  pVP                  4       '       dô   VP                  4       '       dÞ   V P	                  W44      pV P                  W4      pV P                  W%4      pVP                  4       '       dK   V P                  V P                  P                  VP                  VP                  4      VP                  4      # V P                  V P                  P                  VP                  VP                  4      VP                  4      # \        RV 24      hrè   )r°   ry   r    rj   rU   r¤   Úis_int_signedr'   r(   Úcreate_sdivrÉ   Úcreate_udivrP   )r   rÆ   rÇ   rÑ   rÒ   Úret_tys   &&&   r   ÚfloordivÚTritonSemantic.floordiv=  s
  € Ø×8Ñ8¸ÀuÈeÐUYÐ[_Ó`‰ˆØŸ*™*×+Ñ+ˆØŸ*™*×+Ñ+ˆØ×!Ñ!×#Ò#¨×(>Ñ(>×(@Ò(@Ø×.Ñ.¨ÓPˆFØ—I‘I˜eÓ,ˆEØ—I‘I˜eÓ,ˆEØ×#Ñ#×%Ò%Ø—{‘{ 4§<¡<×#;Ñ#;¸E¿L¹LÈ%Ï,É,Ó#WÐY^×YcÑYcÓdÐdà—{‘{ 4§<¡<×#;Ñ#;¸E¿L¹LÈ%Ï,É,Ó#WÐY^×YcÑYcÓdÐdÜÐ*¨?Ð*;Ð<Ó=Ð=r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   rÆ   rš   rÇ   Úieee_roundingrY   r2   r   r3   )r4   s   "r   r5   r6   K  s,   € ÷ 
,ñ 
,Ð3ð 
,Ð<Uð 
,Ðfjð 
,Ðowñ 
,r   c                	óþ  € VP                   P                  pVP                   P                  pVP                  4       '       d   VP                  4       '       g   \        R 4      hV P	                  WRRRR4      w  rV'       d2   V P
                  P                  VP                  VP                  4      pM0V P
                  P                  VP                  VP                  4      pV P                  WaP                   4      # )z4both operands of fdiv must have floating scalar typeFT)
ry   r    r•   rP   r°   r(   Úcreate_precise_divfrÉ   rê   r'   )r   rÆ   rÇ   rö   rÑ   rÒ   r½   s   &&&&   r   ÚfdivÚTritonSemantic.fdivK  s·   € ØŸ*™*×+Ñ+ˆØŸ*™*×+Ñ+ˆØ×*Ñ*×,Ò,°O×4OÑ4O×4QÒ4QÜÐRÓSÐSØ×8Ñ8¸ÀuÈeÐUZÐ\`Óa‰ˆßØ—,‘,×2Ñ2°5·<±<ÀÇÁÓN‰Cà—,‘,×*Ñ*¨5¯<©<¸¿¹ÓFˆCØ�{‰{˜3§
¡
Ó+Ð+r   c               ó$   € V ^8„  d   QhRRRRRR/# ræ   r3   )r4   s   "r   r5   r6   W  s$   € ÷ 8ñ 8Ð2ð 8Ð;Tð 8ÐYañ 8r   c                	ó¢  € V P                  WR R RR4      w  rVP                  P                  pVP                  P                  pVP                  4       '       dK   V P	                  V P
                  P                  VP                  VP                  4      VP                  4      # VP                  4       '       Ed	   VP                  VP                  8w  dD   \        RVP                  4       ,           R,           VP                  4       ,           R,           4      hVP                  4       '       dK   V P	                  V P
                  P                  VP                  VP                  4      VP                  4      # V P	                  V P
                  P                  VP                  VP                  4      VP                  4      # \        RV 24      h)FTzCannot mod z by r^   r]   )r°   ry   r    r•   r'   r(   Úcreate_fremrÉ   rj   rL   rP   r   rï   Úcreate_sremÚcreate_urem)r   rÆ   rÇ   rk   rÒ   s   &&&  r   ÚmodÚTritonSemantic.modW  se  € Ø×8Ñ8¸ÀuÈeÐUYÐ[_Ó`‰ˆØ—J‘J×%Ñ%ˆ	ØŸ*™*×+Ñ+ˆà× Ñ ×"Ò"Ø—;‘;˜tŸ|™|×7Ñ7¸¿¹ÀeÇlÁlÓSÐUZ×U_ÑU_Ó`Ð`à×Ñ×ÓØ×'Ñ'¨?×+IÑ+IÔIÜ °	×0BÑ0BÓ0DÕ DÀvÕ MÐP_×PhÑPhÓPjÕ jð nsõ !só tð tð ×&Ñ&×(Ò(Ø—{‘{ 4§<¡<×#;Ñ#;¸E¿L¹LÈ%Ï,É,Ó#WÐY^×YcÑYcÓdÐdà—{‘{ 4§<¡<×#;Ñ#;¸E¿L¹LÈ%Ï,É,Ó#WÐY^×YcÑYcÓdÐdÜÐ*¨9¨+Ð6Ó7Ð7r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r/   rz   r   ÚyÚpropagate_nanútl.PropagateNanr3   )r4   s   "r   r5   r6   n  ó!   € ÷ 9ñ 9˜ð 9 hð 9¸ñ 9r   c                	óÈ  € V P                  W4      w  rVP                  pVP                  4       '       dá   V\        P                  P
                  8X  dK   V P                  V P                  P                  VP                  VP                  4      VP                  4      # V\        P                  P                  8X  dK   V P                  V P                  P                  VP                  VP                  4      VP                  4      # \        R V 24      hVP                  4       '       dK   V P                  V P                  P                  VP                  VP                  4      VP                  4      # VP!                  4       '       dK   V P                  V P                  P#                  VP                  VP                  4      VP                  4      # \%        RV 24      h©zUnexpected propagate_nan úUnexpected dtype )r°   rM   r•   r<   ÚPropagateNanÚALLr'   r(   Úcreate_minimumfrÉ   ry   ÚNONEÚcreate_minnumfr:   rï   Úcreate_minsir¡   Úcreate_minuirP   ©r   rz   r  r  rM   s   &&&& r   ÚminimumÚTritonSemantic.minimumn  óR  € Ø×0Ñ0°Ó6‰ˆØ—‘ˆØ×Ñ×ÒØ¤§¡× 3Ñ 3Ô3Ø—{‘{ 4§<¡<×#?Ñ#?ÀÇÁÈ!Ï(É(Ó#SÐUV×U[ÑU[Ó\Ð\Ø¤"§/¡/×"6Ñ"6Ô6Ø—{‘{ 4§<¡<×#>Ñ#>¸q¿x¹xÈÏÉÓ#RÐTU×TZÑTZÓ[Ð[ä Ð#<¸]¸OÐ!LÓMÐMØ× Ñ ×"Ò"Ø—;‘;˜tŸ|™|×8Ñ8¸¿¹À1Ç8Á8ÓLÈaÏfÉfÓUÐUØ×"Ñ"×$Ò$Ø—;‘;˜tŸ|™|×8Ñ8¸¿¹À1Ç8Á8ÓLÈaÏfÉfÓUÐUäÐ/°¨wÐ7Ó8Ð8r   c               ó$   € V ^8„  d   QhRRRRRR/# r  r3   )r4   s   "r   r5   r6     r  r   c                	óÈ  € V P                  W4      w  rVP                  pVP                  4       '       dá   V\        P                  P
                  8X  dK   V P                  V P                  P                  VP                  VP                  4      VP                  4      # V\        P                  P                  8X  dK   V P                  V P                  P                  VP                  VP                  4      VP                  4      # \        R V 24      hVP                  4       '       dK   V P                  V P                  P                  VP                  VP                  4      VP                  4      # VP!                  4       '       dK   V P                  V P                  P#                  VP                  VP                  4      VP                  4      # \%        RV 24      hr	  )r°   rM   r•   r<   r  r  r'   r(   Úcreate_maximumfrÉ   ry   r  Úcreate_maxnumfr:   rï   Úcreate_maxsir¡   Úcreate_maxuirP   r  s   &&&& r   ÚmaximumÚTritonSemantic.maximum  r  r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   rz   r   ÚminÚmaxr  r  r3   )r4   s   "r   r5   r6   �  s.   € ÷ 	añ 	a�xð 	a hð 	a°Xð 	aÈoñ 	ar   c                	ó‚  € V P                  W#4      w  r#V P                  W4      w  rV P                  W4      w  rVP                  pVP                  4       '       dW   V P                  V P                  P                  VP                  VP                  VP                  V4      VP                  4      # \        R V R24      h)r
  z(. Only floating point clamp is supported)	r°   rM   r•   r'   r(   Úcreate_clampfrÉ   ry   rP   )r   rz   r  r   r  rM   s   &&&&& r   ÚclampÚTritonSemantic.clamp�  s£   € Ø×4Ñ4°SÓ>‰ˆØ×2Ñ2°1Ó:‰ˆØ×2Ñ2°1Ó:‰ˆà—‘ˆØ×Ñ×ÒØ—;‘;˜tŸ|™|×9Ñ9¸!¿(¹(ÀCÇJÁJÐPS×PZÑPZÐ\iÓjÐlm×lrÑlrÓsÐsäÐ/°¨wÐ6^Ð_Ó`Ð`r   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   rÆ   r   rÇ   r2   rœ   r3   )r4   s   "r   r5   r6   Ÿ  s"   € ÷ ñ °8ð ÀHð ÐQjñ r   c                	ór  € V P                  W4      w  rVP                  P                  pVP                  P                  pVP                  4       '       d   VP                  4       '       g   \	        W44      hV P                  W44      pWS8w  d   V P                  W4      pWT8w  d   V P                  W%4      pW3# r*   )r°   ry   r    rj   r   rU   r¤   )r   rÆ   rÇ   Úinput_sca_tyÚother_sca_tyr¯   s   &&&   r   Úbitwise_op_type_checking_implÚ,TritonSemantic.bitwise_op_type_checking_implŸ  sš   € Ø×8Ñ8¸ÓF‰ˆØ—z‘z×(Ñ(ˆØ—z‘z×(Ñ(ˆØ×"Ñ"×$Ò$¨L×,?Ñ,?×,AÒ,AÜ+¨LÓGÐGØ×.Ñ.¨|ÓJˆ
ØÔ%Ø—I‘I˜eÓ0ˆEØÔ%Ø—I‘I˜eÓ0ˆEØˆ|Ðr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r/   rÆ   r   rÇ   r2   r3   )r4   s   "r   r5   r6   ¬  ó&   € ÷ \ñ \˜(ð \¨8ð \¸ñ \r   c                	ó¼   € V P                  W4      w  rV P                  V P                  P                  VP                  VP                  4      VP
                  4      # r*   )r)  r'   r(   Ú
create_andrÉ   ry   ©r   rÆ   rÇ   s   &&&r   r¹   ÚTritonSemantic.and_¬  óE   € Ø×9Ñ9¸%ÓG‰ˆØ�{‰{˜4Ÿ<™<×2Ñ2°5·<±<ÀÇÁÓNÐPU×PZÑPZÓ[Ð[r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6   °  s&   € ÷ [ñ [˜ð [¨(ð [°xñ [r   c                	ó¼   € V P                  W4      w  rV P                  V P                  P                  VP                  VP                  4      VP
                  4      # r*   )r)  r'   r(   Ú	create_orrÉ   ry   r0  s   &&&r   Úor_ÚTritonSemantic.or_°  sB   € Ø×9Ñ9¸%ÓG‰ˆØ�{‰{˜4Ÿ<™<×1Ñ1°%·,±,ÀÇÁÓMÈuÏzÉzÓZÐZr   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6   ´  r-  r   c                	ó¼   € V P                  W4      w  rV P                  V P                  P                  VP                  VP                  4      VP
                  4      # r*   )r)  r'   r(   Ú
create_xorrÉ   ry   r0  s   &&&r   Úxor_ÚTritonSemantic.xor_´  r2  r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6   ¸  s!   € ÷ 'ñ ' ð '°(ð '¸xñ 'r   c                	ó$  € VP                   P                  4       '       g!   V P                  V\        P                  4      pVP                   P                  4       '       g!   V P                  V\        P                  4      pV P                  W4      # r*   )ry   Úis_int1Úbitcastr<   r†   r¹   r0  s   &&&r   Úlogical_andÚTritonSemantic.logical_and¸  s_   € Ø�z‰z×!Ñ!×#Ò#Ø—L‘L ¬¯©Ó0ˆEØ�z‰z×!Ñ!×#Ò#Ø—L‘L ¬¯©Ó0ˆEØ�y‰y˜Ó&Ð&r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6   ¿  s!   € ÷ &ñ & ð &°ð &¸hñ &r   c                	ó$  € VP                   P                  4       '       g!   V P                  V\        P                  4      pVP                   P                  4       '       g!   V P                  V\        P                  4      pV P                  W4      # r*   )ry   r?  r@  r<   r†   r6  r0  s   &&&r   Ú
logical_orÚTritonSemantic.logical_or¿  s_   € Ø�z‰z×!Ñ!×#Ò#Ø—L‘L ¬¯©Ó0ˆEØ�z‰z×!Ñ!×#Ò#Ø—L‘L ¬¯©Ó0ˆEØ�x‰x˜Ó%Ð%r   c               ó   € V ^8„  d   QhRR/# )r/   rÆ   r   r3   )r4   s   "r   r5   r6   Æ  s   € ÷ "ñ "˜(ñ "r   c                	ó¤   € VP                   P                  4       '       g!   V P                  V\        P                  4      pV P                  V4      # r*   )ry   r?  r@  r<   r†   Úinvert©r   rÆ   s   &&r   Únot_ÚTritonSemantic.not_Æ  s8   € Ø�z‰z×!Ñ!×#Ò#Ø—L‘L ¬¯©Ó0ˆEØ�{‰{˜5Ó!Ð!r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6   Ë  ó&   € ÷ ]ñ ]˜(ð ]¨8ð ]¸ñ ]r   c                	ó¼   € V P                  W4      w  rV P                  V P                  P                  VP                  VP                  4      VP
                  4      # r*   )r)  r'   r(   Úcreate_lshrrÉ   ry   r0  s   &&&r   ÚlshrÚTritonSemantic.lshrË  óE   € Ø×9Ñ9¸%ÓG‰ˆØ�{‰{˜4Ÿ<™<×3Ñ3°E·L±LÀ%Ç,Á,ÓOÐQV×Q[ÑQ[Ó\Ð\r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6   Ï  rN  r   c                	ó¼   € V P                  W4      w  rV P                  V P                  P                  VP                  VP                  4      VP
                  4      # r*   )r)  r'   r(   Úcreate_ashrrÉ   ry   r0  s   &&&r   ÚashrÚTritonSemantic.ashrÏ  rS  r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6   Ó  s&   € ÷ \ñ \˜ð \¨(ð \°xñ \r   c                	ó¼   € V P                  W4      w  rV P                  V P                  P                  VP                  VP                  4      VP
                  4      # r*   )r)  r'   r(   Ú
create_shlrÉ   ry   r0  s   &&&r   ÚshlÚTritonSemantic.shlÓ  r2  r   c               ó    € V ^8„  d   QhRRRR/# ©r/   rÆ   r   r2   r3   )r4   s   "r   r5   r6   Û  s   € ÷ ñ ˜(ð  xñ r   c                	ó   € V# r*   r3   rJ  s   &&r   ÚplusÚTritonSemantic.plusÛ  s   € Øˆr   c               ó    € V ^8„  d   QhRRRR/# r_  r3   )r4   s   "r   r5   r6   Þ  s   € ÷ )ñ )˜8ð )¨ñ )r   c                	óþ  € VP                   P                  pVP                  4       '       d(   \        R VP	                  4       ,           R,           4      hVP                  4       '       d@   V P                  V P                  P                  VP                  4      VP                   4      # V P                  V P                  P                  VP                  V P                  4      4      V4      pV P                  W1R4      # )z$wrong type argument to unary minus (Ú)T)ry   r    r”   r:   r   r•   r'   r(   Úcreate_fnegrÉ   Úget_null_valuerË   rÚ   )r   rÆ   r'  Ú_0s   &&  r   rØ   ÚTritonSemantic.minusÞ  s·   € Ø—z‘z×(Ñ(ˆØ×Ñ× Ò ÜÐCÀl×F[ÑF[ÓF]Õ]Ð`cÕcÓdÐdØ×#Ñ#×%Ò%Ø—;‘;˜tŸ|™|×7Ñ7¸¿¹ÓEÀuÇzÁzÓRÐRØ�[‰[˜Ÿ™×4Ñ4°\×5GÑ5GÈÏÉÓ5UÓVÐXdÓeˆØ�x‰x˜ 4Ó(Ð(r   c               ó    € V ^8„  d   QhRRRR/# r_  r3   )r4   s   "r   r5   r6   ç  s   € ÷ $ñ $˜Hð $¨ñ $r   c                	ó~  € VP                   P                  pVP                  4       '       g   VP                  4       '       d(   \	        R VP                  4       ,           R,           4      hV P                  V P                  P                  VP                  V P                  4      4      V4      pV P                  W4      # )z%wrong type argument to unary invert (re  )ry   r    r”   r•   r:   r   r'   r(   Úget_all_ones_valuerË   r;  )r   rÆ   r'  Ú_1s   &&  r   rI  ÚTritonSemantic.invertç  sŒ   € Ø—z‘z×(Ñ(ˆØ×Ñ× Ò  L×$<Ñ$<×$>Ò$>ÜÐDÀ|×G\ÑG\ÓG^Õ^ÐadÕdÓeÐeØ�[‰[˜Ÿ™×8Ñ8¸×9KÑ9KÈDÏLÉLÓ9YÓZÐ\hÓiˆØ�y‰y˜Ó#Ð#r   c               ó    € V ^8„  d   QhRRRR/# )r/   Úvr   r2   útl.block_typer3   )r4   s   "r   r5   r6   ò  s   € ÷ /ñ /˜Hð /¨ñ /r   c                	óT   € VP                   P                  \        P                  4      # r*   )ry   rÊ   r<   r†   )r   rp  s   &&r   Ú
_bool_likeÚTritonSemantic._bool_likeò  s   € Ø�v‰v×%Ñ%¤b§g¡gÓ.Ð.r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6   õ  s!   € ÷ 8ñ 8 (ð 8°8ð 8Àñ 8r   c                	óÎ  € V P                  W4      w  rVP                  P                  pVP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # VP                  4       '       dµ   VP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # \        R V 24      hrà   )r°   ry   r    r•   r'   r(   Úcreate_fcmpOGTrÉ   rs  rj   rï   Úcreate_icmpSGTÚcreate_icmpUGTrP   ©r   rÆ   rÇ   rk   s   &&& r   Úgreater_thanÚTritonSemantic.greater_thanõ  ó  € Ø×8Ñ8¸ÓF‰ˆØ—J‘J×%Ñ%ˆ	à× Ñ ×"Ò"Ø—;‘;˜tŸ|™|×:Ñ:¸5¿<¹<ÈÏÉÓVÐX\×XgÑXgÐhmÓXnÓoÐoà×Ñ×ÒØ×&Ñ&×(Ò(Ø—{‘{ 4§<¡<×#>Ñ#>¸u¿|¹|ÈUÏ\É\Ó#ZÐ\`×\kÑ\kÐlqÓ\rÓsÐsà—{‘{ 4§<¡<×#>Ñ#>¸u¿|¹|ÈUÏ\É\Ó#ZÐ\`×\kÑ\kÐlqÓ\rÓsÐsÜÐ*¨9¨+Ð6Ó7Ð7r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6     s!   € ÷ 8ñ 8 8ð 8°Hð 8Àñ 8r   c                	óÎ  € V P                  W4      w  rVP                  P                  pVP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # VP                  4       '       dµ   VP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # \        R V 24      hrà   )r°   ry   r    r•   r'   r(   Úcreate_fcmpOGErÉ   rs  rj   rï   Úcreate_icmpSGEÚcreate_icmpUGErP   rz  s   &&& r   r»   ÚTritonSemantic.greater_equal  r}  r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6     s!   € ÷ 8ñ 8˜xð 8°ð 8¸Xñ 8r   c                	óÎ  € V P                  W4      w  rVP                  P                  pVP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # VP                  4       '       dµ   VP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # \        R V 24      hrà   )r°   ry   r    r•   r'   r(   Úcreate_fcmpOLTrÉ   rs  rj   rï   Úcreate_icmpSLTÚcreate_icmpULTrP   rz  s   &&& r   Ú	less_thanÚTritonSemantic.less_than  r}  r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6     s!   € ÷ 8ñ 8 ð 8°ð 8¸hñ 8r   c                	óÎ  € V P                  W4      w  rVP                  P                  pVP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # VP                  4       '       dµ   VP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # \        R V 24      hrà   )r°   ry   r    r•   r'   r(   Úcreate_fcmpOLErÉ   rs  rj   rï   Úcreate_icmpSLEÚcreate_icmpULErP   rz  s   &&& r   rº   ÚTritonSemantic.less_equal  r}  r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6   -  s!   € ÷ 	8ñ 	8˜8ð 	8¨Hð 	8¸ñ 	8r   c                	ó  € V P                  W4      w  rVP                  P                  pVP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # VP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # \        R V 24      hrà   )r°   ry   r    r•   r'   r(   Úcreate_fcmpOEQrÉ   rs  rj   Úcreate_icmpEQrP   rz  s   &&& r   ÚequalÚTritonSemantic.equal-  óÂ   € Ø×8Ñ8¸ÓF‰ˆØ—J‘J×%Ñ%ˆ	à× Ñ ×"Ò"Ø—;‘;˜tŸ|™|×:Ñ:¸5¿<¹<ÈÏÉÓVÐX\×XgÑXgÐhmÓXnÓoÐoà×Ñ×ÒØ—;‘;˜tŸ|™|×9Ñ9¸%¿,¹,ÈÏÉÓUÐW[×WfÑWfÐglÓWmÓnÐnÜÐ*¨9¨+Ð6Ó7Ð7r   c               ó$   € V ^8„  d   QhRRRRRR/# r,  r3   )r4   s   "r   r5   r6   8  s!   € ÷ 	8ñ 	8˜xð 	8°ð 	8¸Xñ 	8r   c                	ó  € V P                  W4      w  rVP                  P                  pVP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # VP                  4       '       dP   V P	                  V P
                  P                  VP                  VP                  4      V P                  V4      4      # \        R V 24      hrà   )r°   ry   r    r•   r'   r(   Úcreate_fcmpUNErÉ   rs  rj   Úcreate_icmpNErP   rz  s   &&& r   Ú	not_equalÚTritonSemantic.not_equal8  r—  r   rò   Nc               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   Ústartr1   Úendrò   rq  r2   r   r3   )r4   s   "r   r5   r6   G  s.   € ÷ Zñ Z˜Cð Z cð Z°mð ZÈxñ Zr   c               	óD  € \        V\        4      '       d   \        V\        4      '       g   \        R 4      h\        V^ ,	          4      p\        V^ ,	          4      pV'       g	   V'       d   \        R4      hW!8:  d   \        R4      hW!,
          pWf^,
          ,          ^ 8w  d   \        R4      hV.pVf&   \        P
                  ! \        P                  V4      pVP                  V P                  4      pV P                  V P                  P                  W�V4      V4      # )z/arange's arguments must be of type tl.constexprzarange must fit in int32z=arange's end argument must be greater than the start argumentz#arange's range must be a power of 2)rt   r1   r:   rY   r<   Ú
block_typer=   rË   r(   r'   Úcreate_make_range)	r   rŸ  r   rò   Úis_start_int64Úis_end_int64ÚrangeÚshapeÚ	ret_ty_irs	   &&&$     r   ÚarangeÚTritonSemantic.arangeG  sÛ   € Ü˜%¤×%Ò%¬Z¸¼S×-AÒ-AÜÐNÓOÐOÜ˜e r�kÓ*ˆÜ˜C 2�I“ˆßŸ\ÜÐ7Ó8Ð8ØŒ<ÜÐ\Ó]Ð]Ø•ˆØ˜Q•YÕ AÔ%ÜÐBÓCÐCØ�ˆØŠ>Ü—]’]¤2§8¡8¨UÓ3ˆFØ—L‘L §¡Ó.ˆ	Ø�{‰{˜4Ÿ<™<×9Ñ9¸)ÈCÓPÐRXÓYÐYr   c               ó    € V ^8„  d   QhRRRR/# ©r/   rM   rH   r2   r   r3   )r4   s   "r   r5   r6   Y  s   € ÷ )ñ )¨Hð )¸ñ )r   c                	óÜ  € Vf   \        R4      hV^ 8X  d6   V P                  P                  VP                  V P                  4      4      pM‘VP	                  4       '       dQ   V P                  P                  V4      pV P                  P                  WP                  V P                  4      4      pM+\        V P                  RVP                   24      pV! V4      pV P                  W4      # )Nz2dtype must be specified when value is not a tensorÚget_)
r:   r(   rg  rË   ri   Úget_fp32Úcreate_fp_truncÚgetattrÚnamer'   )r   r`   rM   Úget_value_fns   &&& r   rx   ÚTritonSemantic.scalar_constantY  s¯   € àŠ=ÜÐQÓRÐRØ�AŒ:Ø—L‘L×/Ñ/°·±¸D¿L¹LÓ0IÓJ‰EØ�\‰\�^Š^Ø—L‘L×)Ñ)¨%Ó0ˆEØ—L‘L×0Ñ0°¿¹ÀDÇLÁLÓ8QÓR‰Eä" 4§<¡<°4¸¿
¹
°|Ð1DÓEˆLÙ  Ó'ˆEØ�{‰{˜5Ó(Ð(r   c               ó    € V ^8„  d   QhRRRR/# r¬  r3   )r4   s   "r   r5   r6   g  s   € ÷ 2ñ 2¨ð 2°Xñ 2r   c                	óÊ   € \        V\        P                  4      '       d4   VP                  P                  ^8X  g   Q R4       hV P                  W4      # V P                  W4      # )r9   zonly accepts size-1 tensor)rt   r<   r'   Únumelr`   r¤   rx   )r   r`   rM   s   &&&r   Úmake_scalarÚTritonSemantic.make_scalarg  sQ   € Ü�eœRŸY™Y×'Ò'Ø—;‘;×$Ñ$¨Ô)ÐGÐ+GÓGÐ)Ø—9‘9˜UÓ*Ð*à×#Ñ# EÓ1Ð1r   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   r§  ú	List[int]rM   rH   r2   r   r3   )r4   s   "r   r5   r6   n  s&   € ÷ Añ A˜)ð A°8ð AÀñ Ar   c                	óD   € V P                  V P                  W#4      V4      # r*   )Úsplatr¸  )r   r§  r`   rM   s   &&&&r   ÚfullÚTritonSemantic.fulln  s   € Ø�z‰z˜$×*Ñ*¨5Ó8¸%Ó@Ð@r   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   r`   r   r§  r»  r2   r3   )r4   s   "r   r5   r6   u  s&   € ÷ hñ h˜8ð h¨Ið h¸(ñ hr   c                	óT  € VP                   P                  4       '       d   Q R 4       h\        V4      ^ 8X  d   V# \        P                  ! VP
                  V4      pV P                  V P                  P                  VP                  V P                  4      VP                  4      V4      # )zCannot splat a block tensor)ry   Úis_blockÚlenr<   r¢  rM   r'   r(   Úcreate_splatrË   rÉ   )r   r`   r§  rò   s   &&& r   r½  ÚTritonSemantic.splatu  s|   € Ø—:‘:×&Ñ&×(Ò(ÐGÐ*GÓGÐ(Üˆu‹:˜Œ?ØˆLÜ—’˜uŸ{™{¨EÓ2ˆØ�{‰{˜4Ÿ<™<×4Ñ4°V·\±\À$Ç,Á,Ó5OÐQV×Q]ÑQ]Ó^Ð`fÓgÐgr   c               ó    € V ^8„  d   QhRRRR/# ©r/   r`   r   r2   r3   )r4   s   "r   r5   r6   |  s   € ÷ Sñ S˜Xð S¨(ñ Sr   c                	ó€   € V P                  V P                  P                  VP                  4      VP                  4      # r*   )r'   r(   Úcreate_unsplatrÉ   rM   )r   r`   s   &&r   ÚunsplatÚTritonSemantic.unsplat|  s*   € Ø�{‰{˜4Ÿ<™<×6Ñ6°u·|±|ÓDÀeÇkÁkÓRÐRr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   rÆ   r   Ú	dst_shaper»  Úcan_reorderrY   r2   r3   )r4   s   "r   r5   r6     s/   € ÷ fñ f˜Xð f°)ð fÈ$ð fÐS[ñ fr   c                	ó6  € ^pV F  pWE,          pK  	  VP                   P                  V8w  d   \        R4      h\        P                  ! VP                   P
                  V4      pV P                  V P                  P                  VP                  W#4      V4      # )r9   z:reshape() cannot change total number of elements in tensor)
ry   r·  r:   r<   r¢  r    r'   r(   Úcreate_reshaperÉ   )r   rÆ   rÍ  rÎ  r·  Úsrò   s   &&&&   r   ÚreshapeÚTritonSemantic.reshape  sw   € ØˆÛˆAØ�JŠEñ à�:‰:×Ñ˜uÔ$ÜÐYÓZÐZÜ—’˜uŸz™z×0Ñ0°)Ó<ˆØ�{‰{˜4Ÿ<™<×6Ñ6°u·|±|ÀYÓ\Ð^dÓeÐer   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   rÆ   r   r0   r1   r2   r3   )r4   s   "r   r5   r6   ˆ  s&   € ÷ Xñ X ð X°ð X¸ñ Xr   c                	ó´  € VP                    Uu. uF  p\        P                  ! V4      NK  	  ppVP                  V^4       VP                  P                  4       '       g   V P                  WR7      # \        P                  ! VP                  P                  V4      pV P                  V P                  P                  VP                  V4      V4      # u upi )r9   )r§  )r§  r<   Ú_unwrap_if_constexprÚinsertry   rÂ  r½  r¢  r    r'   r(   Úcreate_expand_dimsrÉ   )r   rÆ   r0   rz   rÍ  rò   s   &&&   r   Úexpand_dimsÚTritonSemantic.expand_dimsˆ  s    € Ø9>¿ºÓE¹°A”R×,Ò,¨QÖ/¹ˆ	ÐEØ×Ñ˜˜qÔ!à�z‰z×"Ñ"×$Ò$Ø—:‘:˜e�:Ó5Ð5ä—’˜uŸz™z×0Ñ0°)Ó<ˆØ�{‰{˜4Ÿ<™<×:Ñ:¸5¿<¹<ÈÓNÐPVÓWÐWùò Fs   �Cc               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   r™   r   r›   rÎ  rY   r2   r3   )r4   s   "r   r5   r6   ’  s.   € ÷ Vñ V�xð V hð V¸Tð VÀhñ Vr   c                	óº  € V'       g   Q R 4       h\        VP                  4      ^8X  g   Q R\        VP                  4       R24       h\        P                  ! VP                  P
                  VP                  ^ ,          VP                  ^ ,          ,           .4      pV P                  V P                  P                  VP                  VP                  4      V4      # )z;current implementation of `cat` always may reorder elementszexpected 1D input for cat, got ÚD)
rÃ  r§  r<   r¢  ry   r    r'   r(   Ú
create_catrÉ   )r   r™   r›   rÎ  Úret_types   &&&& r   ÚcatÚTritonSemantic.cat’  s™   € ßÐYÐYÓYˆ{Ü�3—9‘9‹~ Ô"ÐWÐ&EÄcÈ#Ï)É)ÃnÐEUÐUVÐ$WÓWÐ"Ü—=’= §¡§¡°3·9±9¸Qµ<À#Ç)Á)ÈAÅ,Õ3NÐ2OÓPˆØ�{‰{˜4Ÿ<™<×2Ñ2°3·:±:¸s¿z¹zÓJÈHÓUÐUr   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   Úar   Úbr2   r3   )r4   s   "r   r5   r6   ˜  s!   € ÷ ñ �hð  8ð °ñ r   c                	ón  € V P                  W4      w  rVP                  . 8H  pV'       d%   V P                  V^ 4      pV P                  V^ 4      p\        VP                  R,          \        P
                  4      '       d   \        P
                  ! ^4      pM^pVP                  V.,           p\        P                  ! VP                  P                  V4      pV P                  V P                  P                  VP                  VP                  4      V4      pV'       d   V P                  V^.RR7      pV# )r   F©rÎ  éÿÿÿÿ)r¥   r§  rÙ  rt   r<   ru   r¢  ry   r    r'   r(   Úcreate_joinrÉ   rÒ  )r   rã  rä  Ú
was_rank_1ÚtwoÚ	new_shaperß  r½   s   &&&     r   ÚjoinÚTritonSemantic.join˜  sã   € Ø×(Ñ(¨Ó.‰ˆð —W‘W ‘]ˆ
ßØ× Ñ   AÓ&ˆAØ× Ñ   AÓ&ˆAä�a—g‘g˜b•k¤2§<¡<×0Ò0Ü—,’,˜q“/‰CàˆCØ—G‘G˜s˜e•Oˆ	ä—=’= §¡§¡°	Ó:ˆØ�k‰k˜$Ÿ,™,×2Ñ2°1·8±8¸Q¿X¹XÓFÈÓQˆçØ—,‘,˜s Q C°U�,Ó;ˆCàˆ
r   c               ó    € V ^8„  d   QhRRRR/# )r/   rã  r   r2   rœ   r3   )r4   s   "r   r5   r6   °  s   € ÷ 
ñ 
�xð 
Ð$=ñ 
r   c                	ó   € \        VP                  4      ^ 8”  g   Q R4       h\        P                  ! VP                  R,          4      ^8X  g0   Q R\        P                  ! VP                  R,          4       24       hVP                  RR p\        P                  ! VP
                  P                  V4      pV P                  P                  VP                  4      w  rEV P                  WC4      V P                  WS4      3# )r   z"split requires a non-scalar tensorz/expected last dimension to be 2 for split, got Nrç  )rÃ  r§  r<   rÖ  r¢  ry   r    r(   Úcreate_splitrÉ   r'   )r   rã  rë  rß  ÚoutLHSÚoutRHSs   &&    r   ÚsplitÚTritonSemantic.split°  sÐ   € Ü�A—G‘G“˜qÔ ÐGÐ#GÓGÐ Ü×'Ò'¨¯©°­Ó4¸Ô9ð 	eØ=¼b×>UÒ>UÐVW×V]ÑV]Ð^`ÕVaÓ>bÐ=cÐdó	eÐ9ð —G‘G˜C˜R�Lˆ	Ü—=’= §¡§¡°	Ó:ˆØŸ™×2Ñ2°1·8±8Ó<‰ˆà�K‰K˜Ó)Ø�K‰K˜Ó)ð
ð 	
r   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   rÆ   r   Údimsú
Tuple[int]r2   r3   )r4   s   "r   r5   r6   ½  s&   € ÷ Tñ T˜Xð T¨Zð T¸Hñ Tr   c                	ó.  € \        VP                  4      \        V4      8w  d.   \        R \        VP                  4       R\        V4       24      h\        R V 4       4      \	        \        \        V4      4      4      8w  d   \        RV 24      h\        P                  ! VP                  P                  V Uu. uF  q1P                  V,          NK  	  up4      pV P                  V P                  P                  VP                  V4      V4      # u upi )z;permute dims must have the same length as input shape, got r   c              3  óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5ir*   )r<   rÖ  )Ú.0Úds   & r   Ú	<genexpr>Ú)TritonSemantic.permute.<locals>.<genexpr>Á  s   é € Ð;±d°”"×)Ò)¨!×,Ð,³dùs   ‚#%z?permute dims must be a permutation of 0, 1, ..., n-1, but were )rÃ  r§  r:   ÚsortedÚlistr¦  r<   r¢  ry   r    r'   r(   Úcreate_transrÉ   )r   rÆ   rö  rû  rß  s   &&&  r   ÚpermuteÚTritonSemantic.permute½  sß   € Üˆu�{‰{Óœs 4›yÔ(ÜØMÌcÐRW×R]ÑR]ÓN^ÐM_Ð_dÔehÐimÓenÐdoÐpórð räÑ;±dÓ;Ó;¼tÄEÌ#ÈdË)ÓDTÓ?UÔUÜÐ^Ð_cÐ^dÐeÓfÐfä—=’= §¡×!2Ñ!2ÉTÓ4RÉTÈ·[±[À·^°^ÉTÑ4RÓSˆØ�{‰{˜4Ÿ<™<×4Ñ4°U·\±\À4ÓHÈ(ÓSÐSùò 5Ss   Â:D
c               ó$   € V ^8„  d   QhRRRRRR/# )r/   rÆ   r   r§  r÷  r2   r3   )r4   s   "r   r5   r6   Ç  s&   € ÷ Wñ W¨(ð W¸:ð WÈ(ñ Wr   c                	óR  € VP                   P                  4       '       g   V P                  W4      # VP                   P                  4       p\	        V4      \	        V4      8w  d   \        R V RV 24      hW#8X  d   V# \        V4       F;  w  rEW$,          V8w  g   K  V^8w  g   K  \        RW$,           RV RV RV RV 2
4      h	  \        P                  ! VP                   P                  V4      pV P                  V P                  P                  VP                  V4      V4      # )z!Cannot broadcast, rank mismatch: ú, z3Cannot broadcast, the expanded size of the tensor (z ) must match the existing size (z) at non-singleton dimension ú: )ry   rÂ  r½  Úget_block_shapesrÃ  r:   Ú	enumerater<   r¢  r    r'   r(   Úcreate_broadcastrÉ   )r   rÆ   r§  Ú	src_shapeÚiÚitemrò   s   &&&    r   Úbroadcast_impl_shapeÚ#TritonSemantic.broadcast_impl_shapeÇ  s  € Ø�z‰z×"Ñ"×$Ò$Ø—:‘:˜eÓ+Ð+Ø—J‘J×/Ñ/Ó1ˆ	Üˆy‹>œS ›ZÔ'ÜÐ@ÀÀÈ2ÈeÈWÐUÓVÐVØÔØˆLÜ  Ö+‰GˆAØ�x˜4Ö D¨A¦IÜ Ð#VÐW\ÕW_ÐV`ð aCØCGÀ&ð I%Ø%& C r¨)¨°B°u°gð"?ó @ð @ñ ,ô
 —’˜uŸz™z×0Ñ0°%Ó8ˆØ�{‰{˜4Ÿ<™<×8Ñ8¸¿¹ÀuÓMÈvÓVÐVr   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   r™   r   r›   r2   r3   )r4   s   "r   r5   r6   ×  s!   € ÷ 3ñ 3¨ð 3°xð 3ÀHñ 3r   c           	     	ó`	  € VP                   pVP                   pVP                  4       '       d„   VP                  4       '       gn   VP                  VP                  4      pV P	                  V P
                  P                  VP                  V P
                  4      VP                  4      V4      pW3# VP                  4       '       g„   VP                  4       '       dn   VP                  VP                  4      pV P	                  V P
                  P                  VP                  V P
                  4      VP                  4      V4      pW3# VP                  4       '       EdL   VP                  4       '       Ed5   VP                  4       pVP                  4       p\        V4      \        V4      8  dª   \        \        V4      \        V4      4       F†  pV P	                  V P
                  P                  VP                  ^ 4      \        P                  ! VP                  ^.VP                  ,           4      4      pVP                   pVP                  4       pKˆ  	  MÁ\        V4      \        V4      8  d©   \        \        V4      \        V4      4       F†  pV P	                  V P
                  P                  VP                  ^ 4      \        P                  ! VP                  ^.VP                  ,           4      4      pVP                   pVP                  4       pKˆ  	  \        V4      \        V4      8X  g    Q R\        V4       R\        V4       24       h. p\!        V4       FŽ  w  ršWi,          pV
^8X  d   VP#                  V4       K'  V^8X  g   Wº8X  d   VP#                  V
4       KG  \%        R\'        V	4      ,           R,           \'        V
4      ,           R,           \'        V4      ,           4      h	  WX8w  dX   \        P                  ! VP                  V4      pV P	                  V P
                  P)                  VP                  V4      V4      pWh8w  dX   \        P                  ! VP                  V4      pV P	                  V P
                  P)                  VP                  V4      V4      pW3# )r   z2expected tensors of equal rank for broadcast, got r   z?Cannot make_shape_compatible: incompatible dimensions at index r  )ry   rÂ  rÊ   r    r'   r(   rÄ  rË   rÉ   r  rÃ  r¦  rØ  r<   r¢  Úvaluesr  Úappendr:   Ústrr	  )r   r™   r›   Úlhs_tyÚrhs_tyÚ	lhs_shapeÚ	rhs_shapeÚ_Ú	ret_shaper  ÚleftÚrightrò   s   &&&          r   r¥   Ú#TritonSemantic.broadcast_impl_value×  sœ  € Ø—‘ˆØ—‘ˆð �?‰?×Ò V§_¡_×%6Ò%6Ø×+Ñ+¨F¯M©MÓ:ˆFØ—+‘+˜dŸl™l×7Ñ7¸¿¹ÀTÇ\Á\Ó8RÐTW×T^ÑT^Ó_ÐagÓhˆCðX ˆxˆðU —‘×"Ò" v§¡×'8Ò'8Ø×+Ñ+¨F¯M©MÓ:ˆFØ—+‘+˜dŸl™l×7Ñ7¸¿¹ÀTÇ\Á\Ó8RÐTW×T^ÑT^Ó_ÐagÓhˆCðP ˆxˆðM �_‰_×Ó 6§?¡?×#4Ó#4Ø×/Ñ/Ó1ˆIØ×/Ñ/Ó1ˆIä�9‹~¤ I£Ô.äœs 9›~¬s°9«~Ö>�AØŸ+™+ d§l¡l×&EÑ&EÀcÇjÁjÐRSÓ&TÜ&(§m¢m°F·M±MÀAÀ3È×IYÑIYÕCYÓ&Zó\�Cà ŸX™X�FØ &× 7Ñ 7Ó 9’Iò	 ?ô
 �Y“¤# i£.Ô0äœs 9›~¬s°9«~Ö>�AØŸ+™+ d§l¡l×&EÑ&EÀcÇjÁjÐRSÓ&TÜ&(§m¢m°F·M±MÀAÀ3È×IYÑIYÕCYÓ&Zó\�Cà ŸX™X�FØ &× 7Ñ 7Ó 9’Iñ	 ?ô
 �y“>¤S¨£^Ô3ð kØDÄSÈÃ^ÐDTÐTYÔZ]Ð^gÓZhÐYiÐjókÐ3ð ˆIÜ$ YÖ/‘�Ø!��Ø˜1”9Ø×$Ñ$ UÖ+Ø˜q”j e¤mØ×$Ñ$ TÖ*ä$ð &1Ü36°q³6õ&:Ø<@õ&AÜCFÀtÃ9õ&MØOVõ&WÜY\Ð]bÓYcõ&dó eð eñ 0ð Ô%ÜŸš v§}¡}°iÓ@�Ø—k‘k $§,¡,×"?Ñ"?ÀÇ
Á
ÈIÓ"VÐX^Ó_�ØÔ%ÜŸš v§}¡}°iÓ@�Ø—k‘k $§,¡,×"?Ñ"?ÀÇ
Á
ÈIÓ"VÐX^Ó_�àˆxˆr   c               ó   € V ^8„  d   QhRR/# )r/   Úrounding_modeúOptional[str]r3   )r4   s   "r   r5   r6     s   € ÷ tñ t°=ñ tr   c                	ó°   € Vf   R # VR8X  d   \         P                  P                  # VR8X  d   \         P                  P                  # \	        RV R24      h)NÚrtneÚrtzzInvalid rounding mode: z0. Supported rounding modes are 'rtne' and 'rtz'.)r   ÚROUNDING_MODEÚRTNEÚRTZr:   )r   r  s   &&r   Ú_str_to_rounding_modeÚ$TritonSemantic._str_to_rounding_mode  sU   € ØÒ ÙØ˜FÔ"Ü×#Ñ#×(Ñ(Ð(Ø˜EÔ!Ü×#Ñ#×'Ñ'Ð'ÜÐ2°=°/ÐAqÐrÓsÐsr   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   rÆ   r   Údst_tyrH   r2   r3   )r4   s   "r   r5   r6     s&   € ÷ jñ j˜Xð j¨xð j¸Hñ jr   c                	ót  € VP                   pVP                  4       '       d   VP                  VP                  4      pW28X  d   V# VP                  pVP                  pVP	                  4       '       g   VP	                  4       '       d   V P                  W4      # VP                  pVP                  pWg8w  d3   \        R \        V4      ,           R,           \        V4      ,           4      hV P                  V P                  P                  VP                  VP                  V P                  4      4      V4      # )z!Cannot bitcast data-type of size z to data-type of size )ry   rÂ  rÊ   r    r”   r¤   Úprimitive_bitwidthr:   r  r'   r(   Úcreate_bitcastrÉ   rË   )r   rÆ   r)  Úsrc_tyÚ
src_sca_tyÚ
dst_sca_tyÚsrc_bitsÚdst_bitss   &&&     r   r@  ÚTritonSemantic.bitcast  sû   € Ø—‘ˆØ�?‰?×ÒØ×+Ñ+¨F¯M©MÓ:ˆFØÔØˆLØ—]‘]ˆ
Ø—]‘]ˆ
Ø×Ñ×Ò *×"3Ñ"3×"5Ò"5Ø—9‘9˜UÓ+Ð+à×0Ñ0ˆØ×0Ñ0ˆØÔÜÐ@Ä3ÀxÃ=ÕPð T2õ 2Ü47¸³MõBó Cð Cà�{‰{˜4Ÿ<™<×6Ñ6°u·|±|ÀVÇ\Á\ÐRV×R^ÑR^ÓE_Ó`ÐbhÓiÐir   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   rÆ   r   r)  rH   Úfp_downcast_roundingr  r2   r3   )r4   s   "r   r5   r6   +  s/   € ÷ i9ñ i9˜(ð i9¨Hð i9ÈMð i9Ðemñ i9r   c                	ó®  € VP                   pVP                  pVP                  pWV8X  d   V# VP                  4       '       d   VP                  V4      pV P	                  V4      pR pVP                  4       '       ds   VP                  4       '       d]   VP                  VP                  8  dB   Vf   \        P                  P                  pMXV\        P                  P                  8w  d   RpM6Ve3   \        R\        V4      ,           R,           \        V4      ,           4      hVP                  4       '       g   VP                  4       '       dU   V P                  P                  P                  R4       f   Q R4       hV P                  P                  R,          ! WW0R7      # VP!                  4       '       d   VP                  4       '       g5   VP                  4       '       d   VP!                  4       '       g	   V'       dQ   V P#                  V P                  P%                  VP&                  VP)                  V P                  4      V4      V4      # VP+                  4       '       d   VP-                  4       '       d-   VP/                  4       '       dG   VP-                  4       '       g1   V P1                  V P1                  V\2        P4                  4      V4      # VP                  4       ;'       d2    VP                  4       ;'       d    VP                  VP                  8„  pV'       dP   V P#                  V P                  P7                  VP&                  VP)                  V P                  4      4      V4      # VP                  4       ;'       d2    VP                  4       ;'       d    VP                  VP                  8  p	V	'       dP   V P#                  V P                  P9                  VP&                  VP)                  V P                  4      4      V4      # VP;                  4       '       EdL   VP;                  4       '       Ed5   VP<                  VP<                  8w  g   VP>                  VP>                  8w  dÿ   VPA                  4       ;'       d    VPC                  4       '       * p
VPC                  4       '       dl   VPD                  P)                  V P                  4      pV P#                  V P                  PG                  V4      VPD                  4      pV PI                  W4      # V P#                  V P                  PK                  VP&                  VP)                  V P                  4      V
4      V4      # VPM                  4       '       EdM   VP;                  4       '       Ed6   VPC                  4       '       dl   VPD                  P)                  V P                  4      pV P#                  V P                  PG                  V4      VPD                  4      pV PI                  W4      # VPA                  4       '       dP   V P#                  V P                  PO                  VP&                  VP)                  V P                  4      4      V4      # V P#                  V P                  PQ                  VP&                  VP)                  V P                  4      4      V4      # VP;                  4       '       dá   VPM                  4       '       dË   VPC                  4       '       g   VPA                  4       '       gP   V P#                  V P                  PS                  VP&                  VP)                  V P                  4      4      V4      # V P#                  V P                  PU                  VP&                  VP)                  V P                  4      4      V4      # VPW                  4       '       dç   VP;                  4       '       dÑ   VP<                  pV^@8X  dP   V P#                  V P                  PY                  VP&                  VP)                  V P                  4      4      V4      # V^8X  dh   V PI                  V P1                  V\2        PZ                  4      V P#                  V P                  P]                  ^ 4      \2        PZ                  4      4      # VP;                  4       '       df   VPW                  4       '       dP   V P#                  V P                  P_                  VP&                  VP)                  V P                  4      4      V4      # VPW                  4       '       df   VPW                  4       '       dP   V P#                  V P                  Pa                  VP&                  VP)                  V P                  4      4      V4      # Q RT RT 24       h)	FTz]fp_downcast_rounding should be set only for truncating fp conversions. Source scalar type is z and destination type is Úconvert_custom_typesz0target doesn't provide conversion for this type.)Ú	_semanticzcannot cast z to )1ry   r    rÂ  rÊ   r&  r•   r+  r   r#  r$  r:   r  Úis_fp8e4b15r(   Úcodegen_fnsÚgetri   r'   Úcreate_fp_to_fprÉ   rË   rg   rf   rh   r¤   r<   rc   r°  Úcreate_fp_extrj   rK   rL   rï   Úis_boolrM   rg  rœ  rÌ   Úis_standard_floatingÚcreate_fp_to_siÚcreate_fp_to_uiÚcreate_ui_to_fpÚcreate_si_to_fpr”   Úcreate_ptr_to_intrˆ   Ú	get_int64Úcreate_int_to_ptrr,  )r   rÆ   r)  r4  r-  r.  r/  Úuse_custom_roundingÚtruncate_fpÚext_fpÚsign_extendÚtyrh  Úbitwidths   &&&&          r   r¤   ÚTritonSemantic.cast+  sq  € Ø—‘ˆØ—]‘]ˆ
Ø—]‘]ˆ
ØÔ#ØˆLØ�?‰?×ÒØ×+Ñ+¨JÓ7ˆFð  $×9Ñ9Ð:NÓOÐØ#ÐØ×!Ñ!×#Ò#¨
×(>Ñ(>÷ )
ò )
Ø×+Ñ+¨j×.KÑ.KÔKØ#Ò+ÄB×DTÑDT×DYÑDYÑ-AØ%¬×)9Ñ)9×)>Ñ)>Ô>ÐVZÐ@Søà#Ò/Ü ð ":Ü<?À
»Oõ"LØNiõ"jä!$ Z£õ"1ó 2ð 2ð ×"Ñ"×$Ò$¨
×(>Ñ(>×(@Ò(@Ø—<‘<×+Ñ+×/Ñ/Ø&ó(Ø/3ò4ð hØ5góhð 4à—<‘<×+Ñ+Ð,BÖCÀEÐSgÔxÐxð ×Ñ×Ò J×$:Ñ$:×$<Ò$<Ø×"Ñ"×$Ò$¨×):Ñ):×)<Ò)<ßØ—;‘;Ø—‘×,Ñ,¨U¯\©\¸6¿<¹<ÈÏÉÓ;UÐWkÓlÐntóvð vð ×Ñ× Ò ¨×);Ñ);×)=Ò)=Ø×Ñ× Ò ¨×);Ñ);×)=Ò)=Ø—9‘9˜TŸY™Y u¬b¯j©jÓ9¸:ÓFÐFð
 !×,Ñ,Ó.÷ Jð JØ×"Ñ"Ó$÷Jð Jà×)Ñ)¨J×,IÑ,IÑIð 	÷ Ø—;‘;˜tŸ|™|×;Ñ;¸E¿L¹LÈ&Ï,É,ÐW[×WcÑWcÓJdÓeÐgmÓnÐnð ×'Ñ'Ó)÷ Jð JØ×"Ñ"Ó$÷Jð Jà×)Ñ)¨J×,IÑ,IÑIð 	÷ Ø—;‘;˜tŸ|™|×9Ñ9¸%¿,¹,ÈÏÉÐUY×UaÑUaÓHbÓcÐekÓlÐlð ×Ñ×Ó :×#4Ñ#4×#6Ó#6Ø×#Ñ# z×'>Ñ'>Ô>À*×B[ÑB[Ð_i×_xÑ_xÔBxØ$×2Ñ2Ó4×QÐQ¸Z×=OÑ=OÓ=QÔ9QˆKØ×!Ñ!×#Ò#Ø—[‘[×&Ñ& t§|¡|Ó4�Ø—[‘[ §¡×!<Ñ!<¸RÓ!@À%Ç+Á+ÓN�Ø—~‘~ eÓ0Ð0à—{‘{ 4§<¡<×#?Ñ#?ÀÇÁÈfÏlÉlÐ[_×[gÑ[gÓNhÐjuÓ#vØ#)ó+ð +ð ×*Ñ*×,Ó,°×1BÑ1B×1DÓ1DØ×!Ñ!×#Ò#Ø—[‘[×&Ñ& t§|¡|Ó4�Ø—[‘[ §¡×!<Ñ!<¸RÓ!@À%Ç+Á+ÓN�Ø—~‘~ eÓ0Ð0Ø×)Ñ)×+Ò+Ø—{‘{ 4§<¡<×#?Ñ#?ÀÇÁÈfÏlÉlÐ[_×[gÑ[gÓNhÓ#iÐkqÓrÐrà—{‘{ 4§<¡<×#?Ñ#?ÀÇÁÈfÏlÉlÐ[_×[gÑ[gÓNhÓ#iÐkqÓrÐrð ×Ñ×Ò :×#BÑ#B×#DÒ#DØ×!Ñ!×#Ò#¨:×+CÑ+C×+EÒ+EØ—{‘{ 4§<¡<×#?Ñ#?ÀÇÁÈfÏlÉlÐ[_×[gÑ[gÓNhÓ#iÐkqÓrÐrà—{‘{ 4§<¡<×#?Ñ#?ÀÇÁÈfÏlÉlÐ[_×[gÑ[gÓNhÓ#iÐkqÓrÐrð ×Ñ×Ò :×#4Ñ#4×#6Ò#6Ø!×.Ñ.ˆHØ˜2Œ~Ø—{‘{ 4§<¡<×#AÑ#AÀ%Ç,Á,ÐPV×P\ÑP\Ð]a×]iÑ]iÓPjÓ#kÐmsÓtÐtØ˜1Œ}Ø—~‘~ d§i¡i°´r·x±xÓ&@À$Ç+Á+ÈdÏlÉl×NdÑNdÐefÓNgÔik×iqÑiqÓBrÓsÐsð ×Ñ×Ò :×#4Ñ#4×#6Ò#6Ø—;‘;˜tŸ|™|×=Ñ=¸e¿l¹lÈFÏLÉLÐY]×YeÑYeÓLfÓgÐioÓpÐpð ×Ñ×Ò :×#4Ñ#4×#6Ò#6Ø—;‘;˜tŸ|™|×:Ñ:¸5¿<¹<ÈÏÉÐVZ×VbÑVbÓIcÓdÐflÓmÐmà8˜ U G¨4°¨xÐ8Ó8ˆur   c                	ó€  € \         P                  P                  pV'       dœ   VR 8X  d   \         P                  P                  pV# VR8X  d   \         P                  P                  pV# VR8X  d   \         P                  P
                  pV# VR8X  d   \         P                  P                  pV# \        RV R24      hV# )z.caú.cgú.csz.cvúCache modifier ú not supported)r   ÚCACHE_MODIFIERr  ÚCAÚCGÚCSÚCVr:   ©r   Úcache_modifierÚcaches   && r   Ú_str_to_load_cache_modifierÚ*TritonSemantic._str_to_load_cache_modifierš  ó¸   € Ü×!Ñ!×&Ñ&ˆßØ Ô&Ü×)Ñ)×,Ñ,�ð ˆð   5Ô(Ü×)Ñ)×,Ñ,�ð ˆð   5Ô(Ü×)Ñ)×,Ñ,�ð
 ˆð	   5Ô(Ü×)Ñ)×,Ñ,�ð ˆô ! ?°>Ð2BÀ.Ð!QÓRÐRØˆr   c                	ó€  € \         P                  P                  pV'       dœ   VR 8X  d   \         P                  P                  pV# VR8X  d   \         P                  P                  pV# VR8X  d   \         P                  P
                  pV# VR8X  d   \         P                  P                  pV# \        RV R24      hV# )z.wbrN  rO  z.wtrP  rQ  )r   rR  r  ÚWBrT  rU  ÚWTr:   rW  s   && r   Ú_str_to_store_cache_modifierÚ+TritonSemantic._str_to_store_cache_modifier©  r\  r   c                	óô   € \         P                  P                  pV'       dV   VR 8X  d   \         P                  P                  pV# VR8X  d   \         P                  P                  pV# \        RV R24      hV# )Ú
evict_lastÚevict_firstzEviction policy rQ  )r   ÚEVICTION_POLICYÚNORMALÚ
EVICT_LASTÚEVICT_FIRSTr:   )r   Úeviction_policyÚevictions   && r   Ú_str_to_eviction_policyÚ&TritonSemantic._str_to_eviction_policy¸  su   € Ü×%Ñ%×,Ñ,ˆßØ ,Ô.Ü×-Ñ-×8Ñ8�ð
 ˆð	 ! MÔ1Ü×-Ñ-×9Ñ9�ð ˆô !Ð#3°OÐ3DÀNÐ!SÓTÐTØˆr   c                	óÄ   € R pV'       dV   VR8X  d   \         P                  P                  pV# VR8X  d   \         P                  P                  pV# \	        RV R24      hV# )NÚzeroÚnanzPadding option rQ  )r   ÚPADDING_OPTIONÚPAD_ZEROÚPAD_NANr:   )r   Úpadding_optionÚpaddings   && r   Ú_str_to_padding_optionÚ%TritonSemantic._str_to_padding_optionÃ  sh   € ØˆßØ Ô'Ü×+Ñ+×4Ñ4�ð
 ˆð	   5Ô(Ü×+Ñ+×3Ñ3�ð ˆô ! ?°>Ð2BÀ.Ð!QÓRÐRØˆr   c                	ó€  € \         P                  P                  pV'       dœ   VR 8X  d   \         P                  P                  pV# VR8X  d   \         P                  P                  pV# VR8X  d   \         P                  P                  pV# VR8X  d   \         P                  P
                  pV# \        RV R24      hV# )ÚacquireÚreleaseÚacq_relÚrelaxedúMemory semantic rQ  )r   ÚMEM_SEMANTICÚACQUIRE_RELEASEÚACQUIREÚRELEASEÚRELAXEDr:   )r   Ú
sem_optionÚsems   && r   Ú_str_to_semÚTritonSemantic._str_to_semÎ  s®   € Ü�o‰o×-Ñ-ˆßØ˜YÔ&Ü—o‘o×-Ñ-�ð ˆ
ð ˜yÔ(Ü—o‘o×-Ñ-�ð ˆ
ð ˜yÔ(Ü—o‘o×5Ñ5�ð
 ˆ
ð	 ˜yÔ(Ü—o‘o×-Ñ-�ð ˆ
ô !Ð#3°J°<¸~Ð!NÓOÐOØˆ
r   c                	ó:  € \         P                  P                  pV'       dy   VR 8X  d   \         P                  P                  pV# VR8X  d   \         P                  P                  pV# VR8X  d   \         P                  P                  pV# \        RV R24      hV# )ÚgpuÚctaÚsysr|  rQ  )r   ÚMEM_SYNC_SCOPEÚGPUÚCTAÚSYSTEMr:   )r   Úscope_optionÚscopes   && r   Ú_str_to_scopeÚTritonSemantic._str_to_scopeÝ  s–   € Ü×!Ñ!×%Ñ%ˆßØ˜uÔ$Ü×)Ñ)×-Ñ-�ð ˆð  Ô&Ü×)Ñ)×-Ñ-�ð
 ˆð	  Ô&Ü×)Ñ)×0Ñ0�ð ˆô !Ð#3°L°>ÀÐ!PÓQÐQØˆr   c               ó<   € V ^8„  d   QhRRRRRRRRRR	R
R	RR	RRRR/	# )r/   Úptrr   ÚmaskúOptional[TensorTy]rÇ   Úboundary_checkr   rs  r  rX  ri  Úis_volatilerY   r2   r3   )r4   s   "r   r5   r6   ê  sS   € ÷ =ñ =˜ð =Ð(:ð =ÐCUð =Ðglð =Ø ð=Ø25ð=ØHKð=ØZ^ð=Øckñ=r   c	           
     	ó*  € V P                  V4      p	V P                  V4      p
V P                  V4      pVP                  P                  P                  4       '       g(   \        R VP                  P                  4        R24      hVf   Ve   \        R4      hV'       g	   V'       d   \        R4      hVP                  P                  4       '       gg   V'       d,   VP                  P                  4       '       d   \        R4      hV'       d,   VP                  P                  4       '       d   \        R4      hVP                  P                  4       '       d/   Ve   V P                  W4      w  rVe   V P                  W4      w  rVP                  P                  pVP                  pV\        P                  8H  pV'       dB   \        P                  p\        P                  ! WÜP                  4      pV P!                  W4      pVe   V P!                  W=4      pVP                  P                  4       '       d   VP                  P#                  V4      pMTpVf9   V P%                  V P&                  P)                  VP*                  WšV4      V4      pMWT P%                  V P&                  P-                  VP*                  VP*                  V'       d   VP*                  MRV	W¨4      V4      pV'       d!   V P!                  V\        P                  4      pV# )úUnsupported ptr type z in `tl.load`Nz)`other` cannot be provided without `mask`zä`padding_option` or `boundary_check` argument is not supported for loading a tensor ofpointers or loading a scalar. Because the compiler does not know the boundary; please use block pointers (defined by `make_block_ptr`) insteadúEMask argument cannot be block type if pointer argument is not a blockzFOther argument cannot be block type if pointer argument is not a block)rZ  rk  ru  ry   r    r”   r:   r   rÂ  r¥   Ú
element_tyr<   r†   Úint8Úpointer_typeÚaddress_spacer¤   rÊ   r'   r(   Úcreate_loadrÉ   Úcreate_masked_load)r   r“  r”  rÇ   r–  rs  rX  ri  r—  rY  rj  rt  Úptr_tyÚelt_tyr=  r)  r½   s   &&&&&&&&&        r   ÚloadÚTritonSemantic.loadê  si  € à×0Ñ0°Ó@ˆØ×/Ñ/°Ó@ˆØ×-Ñ-¨nÓ=ˆØ�x‰x�‰×%Ñ%×'Ò'ÜÐ4°S·X±X×5FÑ5FÓ5HÐ4IÈÐWÓXÐXð Š<˜EÒ-ÜÐHÓIÐIß—nÜð Xó Yð Yð
 �x‰x× Ñ ×"Ò"ß˜Ÿ	™	×*Ñ*×,Ò,Ü Ð!hÓiÐiß˜Ÿ™×,Ñ,×.Ò.Ü Ð!iÓjÐjð �8‰8×Ñ×ÒØÒØ ×5Ñ5°cÓ@‘	�ØÒ Ø!×6Ñ6°sÓB‘
�ð —‘—‘ˆØ×"Ñ"ˆð œBŸG™GÑ#ˆßÜ—W‘WˆFÜ—_’_ V×-AÑ-AÓBˆFØ—)‘)˜CÓ(ˆCð ÒØ—I‘I˜eÓ,ˆEð �8‰8×Ñ×ÒØ—X‘X×-Ñ-¨fÓ5‰Fð ˆFð Š<Ø—+‘+˜dŸl™l×6Ñ6°s·z±zÀ5ÐT_Ó`ÐbhÓi‰Cà—+‘+Ø—‘×/Ñ/°·
±
¸D¿K¹K×Y^ÈÏÊÐdhÐjoØ08óGØHNóPˆC÷ Ø—)‘)˜C¤§¡Ó)ˆCØˆ
r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   Údescútl.tensor_descriptor_baserX  r  ri  r2   r   r3   )r4   s   "r   r5   r6   )  s,   € ÷ 
/ñ 
/Ð$=ð 
/ÐX[ð 
/Ø),ð
/Ø19ñ
/r   c                	óØ  € \        V\        P                  4      '       g   Q R \        V4      P                   24       h\        VP                  4      p\        V4      V8X  g   Q RV R\        V4       24       hV P                  VRR7      pV P                  P                  VP                  W P                  V4      V P                  V4      4      pV P                  WaP                  4      # )ú"expected a tensor descriptor, got ú	expected ú offsets, but got F©Úrequire_i64)rt   r<   Útensor_descriptor_basery   r   rÃ  Úblock_shapeÚ_convert_to_ir_valuesr(   Úcreate_descriptor_loadrÉ   rZ  rk  r'   r¢  )r   r¦  ÚoffsetsrX  ri  Úndimrz   s   &&&&&  r   Údescriptor_loadÚTritonSemantic.descriptor_load)  sÑ   € ä˜$¤× 9Ñ 9×:Ò:ð 	GØ0´°d³×1DÑ1DÐ0EÐFó	GÐ:ä�4×#Ñ#Ó$ˆÜ�7‹|˜tÔ#ÐW y°°Ð6HÌÈWËÈÐ%WÓWÐ#à×,Ñ,¨WÀ%Ð,ÓHˆØ�L‰L×/Ñ/°·±¸W×FfÑFfÐguÓFvØ04×0LÑ0LÈ_Ó0]ó_ˆà�{‰{˜1Ÿo™oÓ.Ð.r   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   r¦  r§  r`   r   r2   r’   r3   )r4   s   "r   r5   r6   5  s(   € ÷ Jñ JÐ(Að JÈ(ð JÐ`dñ Jr   c                	ón  € \        V\        P                  4      '       g   Q R \        V4      P                   24       h\        VP                  4      p\        V4      V8X  g   Q RV R\        V4       24       hVP                  VP                  8X  g"   Q RVP                   RVP                   24       hR# )r©  rª  r«  zexpected value shape ú, got N)rt   r<   r®  ry   r   rÃ  r¯  r§  )r   r¦  r`   r²  r³  s   &&&& r   Úvalidate_store_likeÚ"TritonSemantic.validate_store_like5  s®   € Ü˜$¤× 9Ñ 9×:Ò:ð 	GØ0´°d³×1DÑ1DÐ0EÐFó	GÐ:ä�4×#Ñ#Ó$ˆÜ�7‹|˜tÔ#ÐW y°°Ð6HÌÈWËÈÐ%WÓWÐ#Ø�{‰{˜d×.Ñ.Ô.ð 	JØ# D×$4Ñ$4Ð#5°V¸E¿K¹K¸=ÐIó	JÒ.r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r/   r¦  r§  r`   r   r2   r3   )r4   s   "r   r5   r6   =  s(   € ÷ nñ nÐ%>ð nÀxð nÐ]eñ nr   c                	ó   € V P                  WV4       V P                  W!P                  4      pV P                  VR R7      pV P	                  V P
                  P                  VP                  VP                  V4      \        P                  4      # ©Fr¬  )
r¹  r¤   rM   r°  r'   r(   Úcreate_descriptor_storerÉ   r<   Úvoid)r   r¦  r`   r²  s   &&&&r   Údescriptor_storeÚTritonSemantic.descriptor_store=  sm   € Ø× Ñ  ¨gÔ6à—	‘	˜%§¡Ó,ˆØ×,Ñ,¨WÀ%Ð,ÓHˆØ�{‰{˜4Ÿ<™<×?Ñ?ÀÇÁÈUÏ\É\Ð[bÓcÔeg×elÑelÓmÐmr   c               ó$   € V ^8„  d   QhRRRRRR/# r¼  r3   )r4   s   "r   r5   r6   D  ó(   € ÷ uñ uÐ*Cð uÈHð uÐbjñ ur   c                	ó  € V P                  WV4       VP                  \        P                  \        P                  \        P
                  \        P                  \        P                  \        P                  09   g   Q R 4       hV P                  VRR7      p\        P                  P                  pV P                  V P                  P                  WAP                   VP                   V4      \        P"                  4      # ©úUnsupported dtypeFr¬  )r¹  rM   r<   r‡   r=   r‰   rc   ra   rb   r°  r   ÚDESCRIPTOR_REDUCE_KINDÚADDr'   r(   Úcreate_descriptor_reducerÉ   rÀ  ©r   r¦  r`   r²  r_   s   &&&& r   Údescriptor_atomic_addÚ$TritonSemantic.descriptor_atomic_addD  s¯   € Ø× Ñ  ¨gÔ6Ø�z‰zœbŸi™i¬¯©´2·9±9¼b¿j¹jÌ"Ï*É*ÔVX×VaÑVaÐbÔbÐwÐdwÓwÐbØ×,Ñ,¨WÀ%Ð,ÓHˆÜ×(Ñ(×,Ñ,ˆØ�{‰{˜4Ÿ<™<×@Ñ@ÀÇ{Á{ÐTY×T`ÑT`ÐbiÓjÔln×lsÑlsÓtÐtr   c                	óŠ   € \         P                  P                  4       pVP                  R 8H  ;'       d    VP                  ^Z8¬  # )Úcuda)r   ÚactiveÚget_current_targetÚbackendÚarch)r   Útargets   & r   Ú_has_native_tmaÚTritonSemantic._has_native_tmaK  s4   € Ü—‘×1Ñ1Ó3ˆØ—‘ &Ñ(×>Ð>¨V¯[©[¸BÑ->Ð?r   c                	ó^  € V\         P                  \         P                  \         P                  \         P                  \         P
                  \         P                  09   g   Q R 4       hV\         P
                  \         P                  09   d    V P                  4       '       g   Q R4       hR# R# )rÇ  z-16-bit float types require native tma supportN)r<   r‡   r=   r‰   rˆ   ra   rb   rÕ  )r   rM   s   &&r   Ú$_descriptor_atomic_min_max_supportedÚ3TritonSemantic._descriptor_atomic_min_max_supportedO  sp   € ØœŸ™¤B§H¡H¬b¯i©i¼¿¹Ä2Ç:Á:ÌrÏ{É{Ð[Ô[ÐpÐ]pÓpÐ[Ø”R—Z‘Z¤§¡Ð-Ô-Ø×'Ñ'×)Ò)ÐZÐ+ZÓZÒ)ñ .r   c               ó$   € V ^8„  d   QhRRRRRR/# r¼  r3   )r4   s   "r   r5   r6   T  rÄ  r   c                	óT  € V P                  WV4       V P                  VP                  4       V P                  VR R7      p\        P
                  P                  pV P                  V P                  P                  WAP                  VP                  V4      \        P                  4      # r¾  )r¹  rØ  rM   r°  r   rÈ  ÚMINr'   r(   rÊ  rÉ   r<   rÀ  rË  s   &&&& r   Údescriptor_atomic_minÚ$TritonSemantic.descriptor_atomic_minT  ó�   € Ø× Ñ  ¨gÔ6Ø×1Ñ1°$·*±*Ô=Ø×,Ñ,¨WÀ%Ð,ÓHˆÜ×(Ñ(×,Ñ,ˆØ�{‰{˜4Ÿ<™<×@Ñ@ÀÇ{Á{ÐTY×T`ÑT`ÐbiÓjÔln×lsÑlsÓtÐtr   c               ó$   € V ^8„  d   QhRRRRRR/# r¼  r3   )r4   s   "r   r5   r6   [  rÄ  r   c                	óT  € V P                  WV4       V P                  VP                  4       V P                  VR R7      p\        P
                  P                  pV P                  V P                  P                  WAP                  VP                  V4      \        P                  4      # r¾  )r¹  rØ  rM   r°  r   rÈ  ÚMAXr'   r(   rÊ  rÉ   r<   rÀ  rË  s   &&&& r   Údescriptor_atomic_maxÚ$TritonSemantic.descriptor_atomic_max[  rß  r   c               ó$   € V ^8„  d   QhRRRRRR/# r¼  r3   )r4   s   "r   r5   r6   b  rÄ  r   c                	óÆ  € V P                  WV4       VP                  \        P                  \        P                  \        P
                  \        P                  09   g   Q R 4       hV P                  VRR7      p\        P                  P                  pV P                  V P                  P                  WAP                  VP                  V4      \        P                  4      # rÆ  )r¹  rM   r<   r‡   r=   r‰   rˆ   r°  r   rÈ  ÚANDr'   r(   rÊ  rÉ   rÀ  rË  s   &&&& r   Údescriptor_atomic_andÚ$TritonSemantic.descriptor_atomic_andb  ó    € Ø× Ñ  ¨gÔ6Ø�z‰zœbŸi™i¬¯©´2·9±9¼b¿h¹hÐGÔGÐ\ÐI\Ó\ÐGØ×,Ñ,¨WÀ%Ð,ÓHˆÜ×(Ñ(×,Ñ,ˆØ�{‰{˜4Ÿ<™<×@Ñ@ÀÇ{Á{ÐTY×T`ÑT`ÐbiÓjÔln×lsÑlsÓtÐtr   c               ó$   € V ^8„  d   QhRRRRRR/# r¼  r3   )r4   s   "r   r5   r6   i  s(   € ÷ uñ uÐ)Bð uÈ8ð uÐaiñ ur   c                	óÆ  € V P                  WV4       VP                  \        P                  \        P                  \        P
                  \        P                  09   g   Q R 4       hV P                  VRR7      p\        P                  P                  pV P                  V P                  P                  WAP                  VP                  V4      \        P                  4      # rÆ  )r¹  rM   r<   r‡   r=   r‰   rˆ   r°  r   rÈ  ÚORr'   r(   rÊ  rÉ   rÀ  rË  s   &&&& r   Údescriptor_atomic_orÚ#TritonSemantic.descriptor_atomic_ori  s    € Ø× Ñ  ¨gÔ6Ø�z‰zœbŸi™i¬¯©´2·9±9¼b¿h¹hÐGÔGÐ\ÐI\Ó\ÐGØ×,Ñ,¨WÀ%Ð,ÓHˆÜ×(Ñ(×+Ñ+ˆØ�{‰{˜4Ÿ<™<×@Ñ@ÀÇ{Á{ÐTY×T`ÑT`ÐbiÓjÔln×lsÑlsÓtÐtr   c               ó$   € V ^8„  d   QhRRRRRR/# r¼  r3   )r4   s   "r   r5   r6   p  rÄ  r   c                	óÆ  € V P                  WV4       VP                  \        P                  \        P                  \        P
                  \        P                  09   g   Q R 4       hV P                  VRR7      p\        P                  P                  pV P                  V P                  P                  WAP                  VP                  V4      \        P                  4      # rÆ  )r¹  rM   r<   r‡   r=   r‰   rˆ   r°  r   rÈ  ÚXORr'   r(   rÊ  rÉ   rÀ  rË  s   &&&& r   Údescriptor_atomic_xorÚ$TritonSemantic.descriptor_atomic_xorp  rê  r   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   rX  r  ri  r2   r   r3   )r4   s   "r   r5   r6   w  s#   € ÷ $ñ $È3ð $Ðadð $Ðiqñ $r   c                	óØ  € \        V\        P                  4      '       g   Q R VP                  P                   24       hVR8X  g   Q R4       hVR8X  g   Q R4       h\        VP                  4      ^8X  g   Q RVP                   24       hVP                  ^ ,          ^8X  g   Q RVP                   24       h\        VP                  4      ^8X  g   Q RVP                   24       hVP                  \        P                  \        P                  09   g   Q RVP                   24       hVP                  ^ ,          ^8¼  g   Q RVP                   24       hVP                  p^ VP                  ,          ^,          pVP                  ^,          V8¼  g"   Q R	V R
V RVP                  ^,           24       h\        P                  ! VP                  VP                  ^ ,          VP                  ^,          .4      pV P                  V3RR7      ^ ,          pV P                  P                  VP                   VP                   W8P#                  V P                  4      4      p	V P%                  W˜4      # )r©  Ú z#cache modifier is not supported yetz$eviction policy is not supported yetúdescriptor must be 2D, but got ú*descriptor block must have 1 row, but got úx offsets must be 1D, but got ú2x offsets must have dtype int16 or int32, but got z5descriptor gather must have at least 8 rows, but got zdescriptor gather of ú must have at least ú columns, but got Fr¬  )rt   r<   r®  r   r   rÃ  r¯  r§  rM   Úint16r=   r+  r¢  r°  r(   Úcreate_descriptor_gatherrÉ   rË   r'   )
r   r¦  Ú	x_offsetsÚy_offsetrX  ri  rM   Úmin_colsry   rz   s
   &&&&&&    r   Údescriptor_gatherÚ TritonSemantic.descriptor_gatherw  sX  € Ü˜$¤× 9Ñ 9×:Ò:ð 	KØ0°·±×1HÑ1HÐ0IÐJó	KÐ:à Ô#ÐJÐ%JÓJÐ#Ø "Ô$ÐLÐ&LÓLÐ$ô �4×#Ñ#Ó$¨Ô)Ð_Ð-LÈT×M]ÑM]ÐL^Ð+_Ó_Ð)Ø×Ñ Õ" aÔ'ÐhÐ+UÐVZ×VfÑVfÐUgÐ)hÓhÐ'ô �9—?‘?Ó# qÔ(Ð\Ð,JÈ9Ï?É?ÐJ[Ð*\Ó\Ð(Ø�‰¤2§8¡8Ü#%§8¡8ð#-ô -ð 	uØ0bÐcl×crÑcrÐbsÐ.tó	uð -ð �‰˜qÕ! QÔ&ÐqÐ*_Ð`i×`oÑ`oÐ_pÐ(qÓqÐ&Ø—
‘
ˆØ˜×1Ñ1Õ1°AÕ5ˆØ×ÑØõØôð 	AØ3°E°7Ð:NÈxÈjÐXjÐko×k{Ñk{Ð|}Õk~Ðjð  Aó	Að ô �}Š}˜TŸZ™Z¨)¯/©/¸!Õ*<¸d×>NÑ>NÈqÕ>QÐ)RÓSˆØ×-Ñ-¨x¨lÈÐ-ÓNÈqÕQˆØ�L‰L×1Ñ1°$·+±+¸y×?OÑ?OÐQY×[eÑ[eÐfj×frÑfrÓ[sÓtˆØ�{‰{˜1Ó#Ð#r   c               ó    € V ^8„  d   QhRRRR/# rÇ  r3   )r4   s   "r   r5   r6   ’  s   € ÷ *ñ *¨hð *ÐPXñ *r   c                	ó  € \        V\        P                  4      '       g   Q R \        V4      P                   24       h\        VP                  4      ^8X  g   Q RVP                   24       hVP                  ^ ,          ^8X  g   Q RVP                   24       h\        VP                  4      ^8X  g   Q RVP                   24       hVP                  \        P                  \        P                  09   g   Q RVP                   24       hVP                  ^ ,          ^8¼  g   Q RVP                   24       hVP                  p^ VP                  ,          ^,          pVP                  ^,          V8¼  g"   Q RV RV RVP                  ^,           24       hV P                  V3R	R
7      ^ ,          pV P                  P                  VP                  VP                  VP                  V4       V P!                  R\        P"                  4      # )r©  rø  rù  rú  rû  z6descriptor scatter must have at least 8 rows, but got zdescriptor scatter of rü  rý  Fr¬  N)rt   r<   r®  ry   r   rÃ  r¯  r§  rM   rþ  r=   r+  r°  r(   Úcreate_descriptor_scatterrÉ   r'   rÀ  )r   r¦  r`   r   r  rM   r  s   &&&&&  r   Údescriptor_scatterÚ!TritonSemantic.descriptor_scatter’  s   € Ü˜$¤× 9Ñ 9×:Ò:ð 	GØ0´°d³×1DÑ1DÐ0EÐFó	GÐ:ô �4×#Ñ#Ó$¨Ô)Ð_Ð-LÈT×M]ÑM]ÐL^Ð+_Ó_Ð)Ø×Ñ Õ" aÔ'ÐhÐ+UÐVZ×VfÑVfÐUgÐ)hÓhÐ'ô �9—?‘?Ó# qÔ(Ð\Ð,JÈ9Ï?É?ÐJ[Ð*\Ó\Ð(Ø�‰¤2§8¡8Ü#%§8¡8ð#-ô -ð 	uØ0bÐcl×crÑcrÐbsÐ.tó	uð -ð �‰˜qÕ! QÔ&ÐrÐ*`Ðaj×apÑapÐ`qÐ(rÓrÐ&Ø—
‘
ˆØ˜×1Ñ1Õ1°AÕ5ˆØ×ÑØõØôð 	BØ4°U°GÐ;OÐPXÈzÐYkÐlp×l|Ñl|Ð}~Õlð  lAð  Bó	Bð ð ×-Ñ-¨x¨lÈÐ-ÓNÈqÕQˆØ�‰×.Ñ.¨t¯{©{¸E¿L¹LÈ)×JZÑJZÐ\dÔeØ�{‰{˜4¤§¡Ó)Ð)r   c                	óô   € VP                   pVf   V P                  W4      w  rM&V P                  V4      pV P                  WV4      w  rpWAP                   8w  d   \        RVP                    RV 24      hWV3# )Nz(Expected pointer argument to have shape z	 but got )r§  Úbroadcast_tensorsr|   r:   )r   r“  Úvalr”  Ú	ptr_shapes   &&&& r   Ú_broadcast_ptr_val_maskÚ&TritonSemantic._broadcast_ptr_val_maskª  s|   € Ø—I‘Iˆ	ØŠ<Ø×-Ñ-¨cÓ7‰HˆC�à—>‘> $Ó'ˆDØ!×3Ñ3°C¸dÓC‰NˆC�dØŸ	™	Ô!ÜÐGÈÏ	É	À{ÐR[Ð\eÐ[fÐgÓhÐhØ˜ˆ~Ðr   c               ó0   € V ^8„  d   QhRRRRRRRRRRR	R/# )
r/   r“  r   r  r”  r•  rX  r  ri  r2   r3   )r4   s   "r   r5   r6   µ  s:   € ÷ .$ñ .$˜ð .$¨ð .$Ð8Jð .$Ðloð .$Ø"ð.$Ø'/ñ.$r   c           	     	óô  € V P                  V4      pV P                  V4      pVP                  P                  4       '       g+   VP                  P                  P                  4       '       d   \        R 4      hVP                  P                  P                  4       '       g(   \        RVP                  P                  4        R24      hV'       d   \        R4      hVP                  P                  4       '       g_   VP                  P                  4       '       d   \        R4      hV'       d,   VP                  P                  4       '       d   \        R4      hVP                  P                  4       '       d   V P                  WV4      w  rpVP                  P                  p	V	P                  p
V
\        P                  8X  dB   \        P                  p
\        P                  ! W©P                  4      p	V P!                  W4      pV P!                  W*4      pVfP   V P#                  V P$                  P'                  VP(                  VP(                  Wx4      \        P*                  4      # VP                  P                  P-                  4       '       g   \        R4      hV P#                  V P$                  P/                  VP(                  VP(                  VP(                  Wx4      \        P*                  4      # )ú"Cannot store to a constant pointerr™  z in `tl.store`zÑ`boundary_check` argument is not supported for storing a tensor of pointers or storing a scalar. Because the compiler does not know the boundary; please use block pointers (defined by `make_block_ptr`) insteadzFValue argument cannot be block type if pointer argument is not a blockrš  ú"Mask must have boolean scalar type)r`  rk  ry   Úis_constr    r:   r”   r   rÂ  r  r›  r<   r†   rœ  r�  rž  r¤   r'   r(   Úcreate_storerÉ   rÀ  r=  Úcreate_masked_store)r   r“  r  r”  r–  rX  ri  rY  rj  r¡  r¢  s   &&&&&&&    r   ÚstoreÚTritonSemantic.storeµ  s-  € à×1Ñ1°.ÓAˆØ×/Ñ/°Ó@ˆØ�8‰8×Ñ×Ò #§(¡(§/¡/×":Ñ":×"<Ò"<ÜÐAÓBÐBð �x‰x�‰×%Ñ%×'Ò'ÜÐ4°S·X±X×5FÑ5FÓ5HÐ4IÈÐXÓYÐY÷ Üð Eó Fð Fð
 �x‰x× Ñ ×"Ò"Ø�x‰x× Ñ ×"Ò"Ü Ð!iÓjÐjß˜Ÿ	™	×*Ñ*×,Ò,Ü Ð!hÓiÐið �8‰8×Ñ×ÒØ!×9Ñ9¸#ÀDÓI‰NˆC�dà—‘—‘ˆØ×"Ñ"ˆð ”R—W‘WÔÜ—W‘WˆFÜ—_’_ V×-AÑ-AÓBˆFØ—)‘)˜CÓ(ˆCð �i‰i˜Ó$ˆð Š<Ø—;‘;˜tŸ|™|×8Ñ8¸¿¹ÀSÇZÁZÐQVÓaÔce×cjÑcjÓkÐkØ�y‰y×Ñ×'Ñ'×)Ò)ÜÐAÓBÐBØ�{‰{˜4Ÿ<™<×;Ñ;¸C¿J¹JÈÏ
É
ÐTX×T_ÑT_ÐafÓqÜŸ7™7ó$ð 	$r   c               ó0   € V ^8„  d   QhRRRRRRRRRRRR/# )	r/   r“  r   Úcmpr  rƒ  r  r�  r2   r3   )r4   s   "r   r5   r6   é  s@   € ÷ uñ u˜hð u¨Xð u¸Hð uÈ3ð uÐWZð uÐ_gñ ur   c           	     	ój  € V P                  V4      pV P                  V4      pVP                  P                  P                  pVP
                  R9  d   \        R4      hV P                  V P                  P                  VP                  VP                  VP                  WE4      VP                  4      # )é   z9atomic_cas only supports elements with width {16, 32, 64})r  é    r¶   )r„  r�  ry   r    r›  r+  r:   r'   r(   Úcreate_atomic_casrÉ   )r   r“  r  r  rƒ  r�  r›  s   &&&&&& r   Ú
atomic_casÚTritonSemantic.atomic_casé  sŒ   € Ø×Ñ˜sÓ#ˆØ×"Ñ" 5Ó)ˆØ—X‘X—_‘_×/Ñ/ˆ
Ø×(Ñ(°Ô<ÜÐXÓYÐYØ�{‰{˜4Ÿ<™<×9Ñ9¸#¿*¹*ÀcÇjÁjÐRU×R\ÑR\Ð^aÓiÐkn×ksÑksÓtÐtr   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r/   r“  r   r  r”  Úopr  r2   z#Tuple[TensorTy, TensorTy, TensorTy]r3   )r4   s   "r   r5   r6   ñ  s1   € ÷ ñ ¨hð ¸Xð ÈXð Ø'*ðØ/Rñr   c                	óÚ  € VP                   P                  P                  4       '       g+   \        R VP                   P	                  4       ,           4      hVP                   P                  4       '       g+   VP                   P                  P                  4       '       d   \        R4      hVP                   P                  P                  pV\        P                  J d!   VR8w  d   \        RV,           R,           4      hV\        P                  J d!   VR8w  d   \        RV,           R,           4      hV\        P                  \        P                  39   g   VP                  ^8  d*   \        RV,           R,           \        V4      ,           4      hVP                   P                  4       '       d   V P                  WV4      w  rpV P!                  W!P                   P                  P                  4      pVf¼   V P"                  P%                  R4      p\        P&                  pVP                   P                  4       '       d_   VP                   P)                  \        P&                  4      pV P"                  P+                  VP-                  V P"                  4      V4      pV P/                  Wg4      pM5VP                   P                  P1                  4       '       g   \        R4      hWV3# )	z)Pointer argument of store instruction is r  rÏ   Úatomic_z does not support fp16z does not support bf16z does not support Tr  )ry   r    r”   r:   r   r  r›  r<   ra   rb   rþ  Úuint16r+  r  rÂ  r  r¤   r(   Úget_int1r†   rÊ   rÄ  rË   r'   r=  )r   r“  r  r”  r"  r›  Úmask_irÚmask_tys   &&&&&   r   Úatom_red_typechecking_implÚ)TritonSemantic.atom_red_typechecking_implñ  s  € à�x‰x�‰×%Ñ%×'Ò'ÜÐHÈ3Ï8É8×K\ÑK\ÓK^Õ^Ó_Ð_Ø�8‰8×Ñ×Ò #§(¡(×"5Ñ"5×">Ñ">×"@Ò"@ÜÐAÓBÐBØ—X‘X—_‘_×/Ñ/ˆ
ØœŸ™Ó#¨¨e¬Ü˜Y¨�^Ð.FÕFÓGÐGØœŸ™Ó$¨¨u¬Ü˜Y¨�^Ð.FÕFÓGÐGØœ"Ÿ(™(¤B§I¡IÐ.Ô.°*×2OÑ2OÐRTÔ2TÜ˜Y¨�^Ð.BÕBÄSÈÃ_ÕTÓUÐUØ�8‰8×Ñ×ÒØ!×9Ñ9¸#ÀDÓI‰NˆC�dØ�i‰i˜ŸX™XŸ_™_×7Ñ7Ó8ˆØŠ<Ø—l‘l×+Ñ+¨DÓ1ˆGÜ—g‘gˆGØ�x‰x× Ñ ×"Ò"ØŸ(™(×2Ñ2´2·7±7Ó;�ØŸ,™,×3Ñ3°G·M±MÀ$Ç,Á,Ó4OÐQXÓY�Ø—;‘;˜wÓ0‰DØ—‘×!Ñ!×)Ñ)×+Ò+ÜÐAÓBÐBØ˜ˆ~Ðr   c               ó    € V ^8„  d   QhRRRR/# )r/   rz   r   r2   r3   )r4   s   "r   r5   r6     s   € ÷ +ñ +˜(ð + xñ +r   c                	óð   € VP                   P                  p\        P                  ! VR R7      pV P	                  W4      pV P                  WB^,
          4      pV P                  V\        P                  4      # )F)rK  Úsigned)rM   r+  r<   Úget_int_dtyper@  rQ  r¤   r†   )r   rz   rK  ÚidtypeÚixÚsignbits   &&    r   Ú_signbitÚTritonSemantic._signbit  sX   € Ø—7‘7×-Ñ-ˆÜ×!Ò!¨8¸EÔBˆØ�\‰\˜!Ó$ˆØ—)‘)˜B¨1¥Ó-ˆØ�y‰y˜¤"§'¡'Ó*Ð*r   c               ó0   € V ^8„  d   QhRRRRRRRRRRRR/# ©	r/   r“  r   r  r”  rƒ  r  r�  r2   r3   )r4   s   "r   r5   r6     ó8   € ÷ $)ñ $)˜hð $)¨Xð $)¸Xð $)ÈCð $)ÐX[ð $)Ð`hñ $)r   c                	óP  € V P                  WVR 4      w  rpV P                  V4      pV P                  V4      pVP                  P                  pVP                  4       '       dõ   VP                  4       '       dp   V P                  V P                  P                  \        P                  P                  VP                  VP                  VP                  WE4      VP                  4      # V P                  V P                  P                  \        P                  P                  VP                  VP                  VP                  WE4      VP                  4      # V\        P                   \        P"                  09  d   \%        RV 24      hV\        P                   8X  d   \        P&                  M\        P(                  pV P+                  W'4      pV P+                  V\        P,                  ! V^4      4      p	V\        P                   8X  d   \        P.                  M\        P0                  p
V P+                  W*4      pV P+                  V\        P,                  ! V
^4      4      pV P3                  V4      pV P5                  V4      pV P                  V P                  P                  \        P                  P                  V	P                  VP                  V P7                  W>4      P                  WE4      VP                  4      pV P                  V P                  P                  \        P                  P8                  VP                  VP                  V P7                  W=4      P                  WE4      VP                  4      pV P;                  WïV4      pV P+                  VV4      # )r   z#atomic_max not supported for dtype )r)  r„  r�  ry   r    rj   rï   r'   r(   Úcreate_atomic_rmwr   Ú	ATOMIC_OPrâ  rÉ   ÚUMAXr<   rc   re   rP   r=   rˆ   r@  r�  r‡   r‰   r2  rK  r¹   ÚUMINÚwhere©r   r“  r  r”  rƒ  r�  Úsca_tyÚi_typeÚi_valÚi_ptrÚui_typeÚui_valÚui_ptrÚnegÚposÚpos_retÚneg_retr½   s   &&&&&&            r   Ú
atomic_maxÚTritonSemantic.atomic_max  óŸ  € Ø×8Ñ8¸À4ÈÓO‰ˆ�$Ø×Ñ˜sÓ#ˆØ×"Ñ" 5Ó)ˆØ—‘—‘ˆà�=‰=�?Š?Ø×#Ñ#×%Ò%Ø—{‘{Ø—L‘L×2Ñ2´2·<±<×3CÑ3CÀSÇZÁZÐQT×Q[ÑQ[Ð]a×]hÑ]hÐjmÓuØ—H‘Hóð ð —{‘{Ø—L‘L×2Ñ2´2·<±<×3DÑ3DÀcÇjÁjÐRU×R\ÑR\Ð^b×^iÑ^iÐknÓvØ—H‘Hóð ð œ"Ÿ*™*¤b§j¡jÐ1Ô1ÜÐAÀ&ÀÐJÓKÐKà#¤r§z¡zÔ1”—’´r·x±xˆØ—‘˜SÓ)ˆØ—‘˜S¤"§/¢/°&¸!Ó"<Ó=ˆØ%¬¯©Ô3”"—)’)¼¿¹ˆØ—‘˜cÓ+ˆØ—‘˜c¤2§?¢?°7¸AÓ#>Ó?ˆØ�m‰m˜CÓ ˆØ�i‰i˜‹nˆØ—+‘+Ø�L‰L×*Ñ*¬2¯<©<×+;Ñ+;¸U¿\¹\È5Ï<É<Ø+/¯9©9°TÓ+?×+FÑ+FÈóTØUZ×U_ÑU_óaˆð —+‘+Ø�L‰L×*Ñ*¬2¯<©<×+<Ñ+<¸f¿m¹mÈVÏ]É]Ø+/¯9©9°TÓ+?×+FÑ+FÈóTØU[×U`ÑU`óbˆð �j‰j˜ wÓ/ˆØ�|‰|˜C Ó(Ð(r   c               ó0   € V ^8„  d   QhRRRRRRRRRRRR/# r5  r3   )r4   s   "r   r5   r6   9  r6  r   c                	óP  € V P                  WVR 4      w  rpV P                  V4      pV P                  V4      pVP                  P                  pVP                  4       '       dõ   VP                  4       '       dp   V P                  V P                  P                  \        P                  P                  VP                  VP                  VP                  WE4      VP                  4      # V P                  V P                  P                  \        P                  P                  VP                  VP                  VP                  WE4      VP                  4      # V\        P                   \        P"                  09  d   \%        RV 24      hV\        P                   8X  d   \        P&                  M\        P(                  pV P+                  W'4      pV P+                  V\        P,                  ! V^4      4      p	V\        P                   8X  d   \        P.                  M\        P0                  p
V P+                  W*4      pV P+                  V\        P,                  ! V
^4      4      pV P3                  V4      pV P5                  V4      pV P                  V P                  P                  \        P                  P                  V	P                  VP                  V P7                  W>4      P                  WE4      VP                  4      pV P                  V P                  P                  \        P                  P8                  VP                  VP                  V P7                  W=4      P                  WE4      VP                  4      pV P;                  WïV4      pV P+                  VV4      # )r  z#atomic_min not supported for dtype )r)  r„  r�  ry   r    rj   rï   r'   r(   r8  r   r9  rÜ  rÉ   r;  r<   rc   re   rP   r=   rˆ   r@  r�  r‡   r‰   r2  rK  r¹   r:  r<  r=  s   &&&&&&            r   Ú
atomic_minÚTritonSemantic.atomic_min9  rK  r   c               ó0   € V ^8„  d   QhRRRRRRRRRRRR/# r5  r3   )r4   s   "r   r5   r6   _  s8   € ÷ %ñ %˜hð %¨Xð %¸Xð %ÈCð %ÐX[ð %Ð`hñ %r   c           
     	óÞ  € V P                  WVR 4      w  rpV P                  V4      pV P                  V4      pVP                  P                  pVP                  4       '       d   \        P                  P                  M\        P                  P                  pV P                  V P                  P                  WqP                  VP                  VP                  WE4      VP                  4      # )rÏ   )r)  r„  r�  ry   r    r•   r   r9  ÚFADDrÉ  r'   r(   r8  rÉ   )r   r“  r  r”  rƒ  r�  r>  r"  s   &&&&&&  r   Ú
atomic_addÚTritonSemantic.atomic_add_  s¯   € Ø×8Ñ8¸À4ÈÓO‰ˆ�$Ø×Ñ˜sÓ#ˆØ×"Ñ" 5Ó)ˆØ—‘—‘ˆØ"(×"4Ñ"4×"6Ò"6ŒR�\‰\×Ò¼B¿L¹L×<LÑ<LˆØ�{‰{˜4Ÿ<™<×9Ñ9¸"¿j¹jÈ#Ï*É*ÐVZ×VaÑVaÐcfÓnØŸ8™8ó%ð 	%r   c               ó0   € V ^8„  d   QhRRRRRRRRRRRR/# r5  r3   )r4   s   "r   r5   r6   h  ó@   € ÷ yñ y˜hð y¨Xð y¸Xð yÈCð yÐX[ð yÐ`hñ yr   c           
     	óP  € V P                  WVR 4      w  rpV P                  V4      pV P                  V4      pV P                  V P                  P                  \        P                  P                  VP                  VP                  VP                  WE4      VP                  4      # )Úand)r)  r„  r�  r'   r(   r8  r   r9  rç  rÉ   ry   ©r   r“  r  r”  rƒ  r�  s   &&&&&&r   Ú
atomic_andÚTritonSemantic.atomic_andh  óŠ   € Ø×8Ñ8¸À4ÈÓO‰ˆ�$Ø×Ñ˜sÓ#ˆØ×"Ñ" 5Ó)ˆØ�{‰{Ø�L‰L×*Ñ*¬2¯<©<×+;Ñ+;¸S¿Z¹ZÈÏÉÐUY×U`ÑU`ÐbeÓmÐor×owÑowóyð 	yr   c               ó0   € V ^8„  d   QhRRRRRRRRRRRR/# r5  r3   )r4   s   "r   r5   r6   o  s@   € ÷ xñ x˜Xð x¨Hð x¸Hð xÈ3ð xÐWZð xÐ_gñ xr   c           
     	óP  € V P                  WVR 4      w  rpV P                  V4      pV P                  V4      pV P                  V P                  P                  \        P                  P                  VP                  VP                  VP                  WE4      VP                  4      # )Úor)r)  r„  r�  r'   r(   r8  r   r9  rí  rÉ   ry   rY  s   &&&&&&r   Ú	atomic_orÚTritonSemantic.atomic_oro  sˆ   € Ø×8Ñ8¸À4ÈÓN‰ˆ�$Ø×Ñ˜sÓ#ˆØ×"Ñ" 5Ó)ˆØ�{‰{Ø�L‰L×*Ñ*¬2¯<©<¯?©?¸C¿J¹JÈÏ
É
ÐTX×T_ÑT_ÐadÓlÐnq×nvÑnvóxð 	xr   c               ó0   € V ^8„  d   QhRRRRRRRRRRRR/# r5  r3   )r4   s   "r   r5   r6   v  rV  r   c           
     	óP  € V P                  WVR 4      w  rpV P                  V4      pV P                  V4      pV P                  V P                  P                  \        P                  P                  VP                  VP                  VP                  WE4      VP                  4      # )Úxor)r)  r„  r�  r'   r(   r8  r   r9  rò  rÉ   ry   rY  s   &&&&&&r   Ú
atomic_xorÚTritonSemantic.atomic_xorv  r\  r   c               ó0   € V ^8„  d   QhRRRRRRRRRRRR/# r5  r3   )r4   s   "r   r5   r6   }  s8   € ÷ ñ ˜xð ¨hð ¸hð ÈSð ÐY\ð Ðaiñ r   c           
     	óP  € V P                  WVR 4      w  rpV P                  V4      pV P                  V4      pV P                  V P                  P                  \        P                  P                  VP                  VP                  VP                  WE4      VP                  4      # )Úxchg)r)  r„  r�  r'   r(   r8  r   r9  ÚXCHGrÉ   ry   rY  s   &&&&&&r   Úatomic_xchgÚTritonSemantic.atomic_xchg}  s†   € Ø×8Ñ8¸À4ÈÓP‰ˆ�$Ø×Ñ˜sÓ#ˆØ×"Ñ" 5Ó)ˆØ�{‰{Ø�L‰L×*Ñ*¬2¯<©<×+<Ñ+<¸c¿j¹jÈ#Ï*É*ÐVZ×VaÑVaÐcfÓnØ�H‰Hóð 	r   c                	óH  € VP                  4       V P                  P                  P                  9   g,   Q R V P                  P                  P                   RV 24       hVP	                  4       pVR8X  d   RpVR8X  d   RpVR8X  d   Rp\        \        P                  V4      # )zinput_precision must be one of ú. Got ÚTF32X3ÚTF32x3ÚBF16X3ÚBF16x3ÚBF16X6ÚBF16x6)Úlowerr(   r·   Úallowed_dot_input_precisionsÚupperr±  r   ÚINPUT_PRECISION)r   Úinput_precisions   &&r   Ú_str_to_dot_input_precisionÚ*TritonSemantic._str_to_dot_input_precision‰  sž   € Ø×$Ñ$Ó&¨$¯,©,×*>Ñ*>×*[Ñ*[Ô[ð 	yØ-¨d¯l©l×.BÑ.B×._Ñ._Ð-`Ð`fÐgvÐfwÐxó	yÐ[à)×/Ñ/Ó1ˆØ˜hÔ&Ø&ˆOØ˜hÔ&Ø&ˆOØ˜hÔ&Ø&ˆOÜ”r×)Ñ)¨?Ó;Ð;r   c               ó4   € V ^8„  d   QhRRRRRRRRRRR	R
RR/# )r/   r™   r   r›   Úaccry  r  Úmax_num_imprecise_accr1   Ú	out_dtypeztl.dtype | Noner2   r3   )r4   s   "r   r5   r6   •  sS   € ÷ byñ by�xð by hð by°Xð byÐP]ð byØ#&ðbyØ3BðbyØGOñbyr   c           
     	ó  € VP                   P                  4       '       d!   VP                   P                  4       '       g   Q R 4       hVP                  P                  4       '       d#   VP                  P                  4       '       d   EM:VP                  \        P
                  \        P                  \        P                  \        P                  \        P                  \        P                  39   g   Q RVP                   24       hVP                  \        P
                  \        P                  \        P                  \        P                  \        P                  \        P                  39   g   Q RVP                   24       hVP                  VP                  8X  g"   Q RVP                   RVP                   24       hVP                  P                  4       '       g!   VP                  P                  4       '       d|   RV P                  P                  P                  9   d   \        P                   ! R4       V P#                  V\        P                  4      pV P#                  V\        P                  4      pVP                  P%                  4       ;'       g    VP                  P%                  4       pVP                  P'                  4       ;'       g    VP                  P'                  4       pV'       g	   V'       d°   V'       d   RMRp	W�P                  P                  P                  9   d€   V P                  P                  P(                  p
\        P                   ! V	 R	V
 R
V
 R24       V P#                  V\        P                  4      pV P#                  V\        P                  4      pVf!   V P                  P                  P*                  pVf+   Vf   \        P                  MVP                   P,                  pV P/                  V4      p\1        VP2                  4      p\1        VP2                  4      pY¼u;8X  d   ^8X  g5   M Y¼u;8X  d   ^8X  g%   M Q RVP2                   RVP2                   R24       hVP2                  R",          P4                  VP2                  R#,          P4                  8X  g_   Q RVP2                   RVP2                   RVP2                  R",          P4                   RVP2                  R#,          P4                   R2	4       hV P                  P6                  P9                  R4       f   Q R4       hV P                  P6                  R,          ! VP                   VP                   4      pVP2                  R#,          P4                  V^ ,          8¼  dS   VP2                  R",          P4                  V^,          8¼  d*   VP2                  R",          P4                  V^,          8¼  g&   Q RV^ ,           RV^,           RV^,           24       hVP                   P:                  P=                  4       '       d^   VP                   P:                  \        P
                  8X  g   Q R4       hV P                  P?                  ^ 4      p\        P@                  pEMEVPC                  4       '       d   \E        R4      hVP                   P:                  PG                  4       '       g+   VP                   P:                  PC                  4       '       d-   V P                  PI                  ^ 4      p\        P                  pM¤VP                   P:                  PK                  4       '       d-   V P                  PM                  ^ 4      p\        P                  pMNVPO                  4       '       d   V P                  PQ                  ^ 4      MV P                  PI                  ^ 4      pTpVP                   P2                  R#,          pVP                   P2                  R",          pVP                   P2                  R",          pV^8X  d   VP                   P2                  ^ ,          MRp\        PR                  ! TV'       d   VVV.MVV.4      pVf7   V P                  PU                  VPW                  V P                  4      V4      pM°VPX                  pVP                   P2                  VP2                  8X  g,   Q RVP2                   RVP                   P2                   24       hVP                   P,                  V8X  g:   Q RV RVP                   P,                   RVP                   P,                   R24       hVfe   VP                  P                  4       '       dB   VP                  P                  4       '       d"   V P                  P                  PZ                  pM\^ pMYVP                  P                  4       '       d:   VP                  P                  4       '       d   VV8”  d   \E        R V R!V R24      hV P]                  V P                  P_                  VPX                  VPX                  VWE4      V4      # )$z0dot operands must be block tensors (not scalars)zUnsupported lhs dtype zUnsupported rhs dtype z&Both operands must be same dtype. Got r   Úfp8e4b15z–the use of fp8e4b15 is deprecated on Hopper and later architectures and can cause significant slow down. It will be removed in a future triton releaseÚfp8e4b8Úfp8e5b16z- is AMD gfx942 specific and not supported on z^ so it's upcasted to fp16 and can cause significant slow down. Please use OCP fp8 variants on z for performanceNú+Both inputs must be either 2D or 3D; (lhs: ú	 vs rhs: re  zFirst input shape (z) and second input shape z= are not compatible for matmul (second index of first shape (z0) must be equal to first index of second shape (Úmin_dot_sizez2target doesn't provide lower shape bounds for dot.zInput shapes should have M >= z, N >= z
 and K >= zonly int8 supported!zhout_dtype=bfloat16 is unsupported. Please use out_dtype=float32/float16 and cast with `.to(tl.bfloat16)`úexpected accumulator shape r¸  úexpected accumulator dtype ú; pass out_dtype=ú to use this accumulator dtypezmax_num_imprecise_acc (z) must be <= K (rç  éþÿÿÿ)0ry   rÂ  rM   ri   r<   rœ  Úuint8ra   rb   rc   re   r8  r(   r·   Ú!deprecated_fp8_dot_operand_dtypesÚwarningsÚwarnr¤   Ú
is_fp8e4b8Úis_fp8e5b16rÓ  Údefault_dot_input_precisionr›  rz  rÃ  r§  r`   r9  r:  r    rj   Ú	get_int32r=   rh   r:   rf   r¯  rd   Úget_fp64rg   Úget_fp16r¢  rÄ  rË   rÉ   Úmax_num_imprecise_acc_defaultr'   Ú
create_dot)r   r™   r›   r}  ry  r~  r  Úuses_fp8e4b8Úuses_fp8e5b16Ú	type_namerÓ  Úlhs_rankÚrhs_rankr†  rh  Úret_scalar_tyÚMÚNÚKÚBrò   Ú
acc_handles   &&&&&&&               r   ÚdotÚTritonSemantic.dot•  sU  € à�x‰x× Ñ ×"Ò" s§x¡x×'8Ñ'8×':Ò':ÐnÐ<nÓnÐ:à�9‰9×Ñ×Ò #§)¡)×"2Ñ"2×"4Ò"4áà—9‘9¤§¡¬"¯(©(´B·J±JÄÇÁÌRÏZÉZÜ!#§¡ð!-ô -ð SØ0FÀsÇyÁyÀkÐ.RóSð -à—9‘9¤§¡¬"¯(©(´B·J±JÄÇÁÌRÏZÉZÜ!#§¡ð!-ô -ð SØ0FÀsÇyÁyÀkÐ.RóSð -à—9‘9 §	¡	Ô)ÐoÐ-SÐTW×T]ÑT]ÐS^Ð^cÐdg×dmÑdmÐcnÐ+oÓoÐ)à�9‰9× Ñ ×"Ò" c§i¡i×&;Ñ&;×&=Ò&=Ø˜TŸ\™\×1Ñ1×SÑSÔSÜ—’ð môð —)‘)˜C¤§¡Ó,ˆCØ—)‘)˜C¤§¡Ó,ˆCà—y‘y×+Ñ+Ó-×GÐG°·±×1EÑ1EÓ1GˆØŸ	™	×-Ñ-Ó/×JÐJ°3·9±9×3HÑ3HÓ3JˆßŸ=ß%1™	°zˆIØŸL™L×0Ñ0×RÑRÔRØ—|‘|×+Ñ+×0Ñ0�Ü—’Ø �kÐ!NÈtÈfð U6Ø6:°VÐ;KðMôNð —i‘i ¤R§Z¡ZÓ0�Ø—i‘i ¤R§Z¡ZÓ0�àÒ"Ø"Ÿl™l×2Ñ2×NÑNˆOàÒØ&)¢kœŸ
š
°s·x±x×7JÑ7JˆIà×:Ñ:¸?ÓKˆä�s—y‘y“>ˆÜ�s—y‘y“>ˆØÖ( qÖ(¨HÖ,EÀAÖ,Eð  	VÐItÐux×u~Ñu~Ðtð  @Ið  JM÷  JSñ  JSð  ITð  TUð  HVó  	VÐEØ�y‰y˜�}×"Ñ" c§i¡iØõ'ß‘ôð 	uØ,¨S¯Y©Y¨KÐ7PÐQT×QZÑQZÐP[ð  \Yð  Z]÷  Zcñ  Zcð  dfõ  Zg÷  Zmñ  Zmð  Ynð  n^ð  _b÷  _hñ  _hð  ikõ  _l÷  _rñ  _rð  ^sð  stð  uó	uð à�|‰|×'Ñ'×+Ñ+ØóØ#'ò(ð 	^Ø)]ó	^ð (à—|‘|×/Ñ/°Ö?ÀÇÁÈ#Ï(É(ÓSˆØ�y‰y˜�}×"Ñ" l°1¥oÔ5¸#¿)¹)ÀB½-×:MÑ:MÐQ]Ð^_ÕQ`Ô:`Ø—	‘	˜"•×#Ñ# |°A¥Ô6ð	và0°¸aµÐ0AÀÈÐVWÍÐHYÐYcÐdpÐqrÕdsÐctÐuó	vð 7ð �8‰8�?‰?×!Ñ!×#Ò#Ø—8‘8—?‘?¤b§g¡gÔ-ÐEÐ/EÓEÐ-Ø—‘×'Ñ'¨Ó*ˆBÜŸH™HŠMØ×Ñ× Ò ÜØzóð ð �X‰X�_‰_×$Ñ$×&Ò&¨#¯(©(¯/©/×*AÑ*A×*CÒ*CØ—‘×&Ñ& qÓ)ˆBÜŸJ™J‰MØ�X‰X�_‰_×$Ñ$×&Ò&Ø—‘×&Ñ& qÓ)ˆBÜŸJ™J‰Mà-6×->Ñ->×-@Ò-@�—‘×&Ñ& qÔ)ÀdÇlÁl×F[ÑF[Ð\]ÓF^ˆBØ%ˆMà�H‰H�N‰N˜2ÕˆØ�H‰H�N‰N˜2ÕˆØ�H‰H�N‰N˜2ÕˆØ!)¨Q¤ˆC�H‰H�N‰N˜1Ö°DˆÜ—’˜}¿1¨q°!°Q©iÀ1ÀaÀ&ÓIˆØŠ;ØŸ™×2Ñ2°6·<±<ÀÇÁÓ3MÈrÓR‰JàŸ™ˆJØ—8‘8—>‘> V§\¡\Ô1ð SØ-¨f¯l©l¨^¸6À#Ç(Á(Ç.Á.ÐAQÐRóSÐ1à—8‘8×&Ñ&¨)Ô3ð VØ-¨i¨[¸¸s¿x¹x×?RÑ?RÐ>Sð T"Ø"%§(¡(×"5Ñ"5Ð!6Ð6TðVóVÐ3ð
 !Ò(Ø�y‰y×Ñ×!Ò! c§i¡i×&6Ñ&6×&8Ò&8Ø(,¯©×(<Ñ(<×(ZÑ(ZÑ%à()Ñ%à�y‰y×Ñ×!Ò! c§i¡i×&6Ñ&6×&8Ò&8Ð=RÐUVÔ=VÜ Ð#:Ð;PÐ:QÐQaÐbcÐadÐdeÐ!fÓgÐgà�{‰{Ø�L‰L×#Ñ# C§J¡J°·
±
¸JÈÓoÐqwóyð 	yr   c               ó   € V ^8„  d   QhRR/# )r/   Úfloat_formatr  r3   )r4   s   "r   r5   r6   ù  s   € ÷ ñ ¨Cñ r   c                	ó~   € \        \        P                  VP                  4       R 4      pVf   \	        RV R24      hV# )NzInvalid float format: r   )r±  r   ÚScaleDotElemTypeTYrw  r:   )r   r¦  Úty_enums   && r   Ú_str_to_fp_typeÚTritonSemantic._str_to_fp_typeù  s>   € Üœ"×/Ñ/°×1CÑ1CÓ1EÀtÓLˆØŠ?ÜÐ5°l°^À1ÐEÓFÐFØˆr   c               ó    € V ^8„  d   QhRRRR/# )r/   r  r   r¦  r  r3   )r4   s   "r   r5   r6   ÿ  s   € ÷ 0ñ 0 xð 0¸sñ 0r   c                ób  € R\         P                  R\         P                  R\         P                  R\         P                  /P                  V4      pVfG   VR8X  g   Q RV 24       hVP                  \         P                  8X  g   Q RVP                   24       hV# VP                  V8X  d   V# R\         P                  R\         P                  R\         P                  R\         P                  /V,          pVP                  V8X  g   Q RV R	VP                   24       hV P                  W4      # )
zš
If float_format is subbyte, make sure it's packed as uint8 and return it.
Otherwise, return a tensor (perhaps bitcasting) of the specified float format.
Úe5m2Úe4m3Úbf16Úfp16Úe2m1z)Internal Error: Unexpected float format: z)e2m1 format must be packed as uint8. Got zUnexpected dtype for rn  )
r<   Úfloat8e5Ú
float8e4nvrb   ra   r:  rM   rŒ  r%  r@  )r   r  r¦  Ú	triton_tyÚunsigned_tys   &&&  r   Ú_bitcast_to_fp_typeÚ"TritonSemantic._bitcast_to_fp_typeÿ  s  € ð
 œRŸ[™[¨&´"·-±-ÀÌÏÉÐV\Ü—Z‘Zð!ß!$¡ \Ó!2ð 	àÒØ 6Ô)ÐeÐ-VÐWcÐVdÐ+eÓeÐ)Ø—9‘9¤§¡Ô(ÐaÐ,UÐVY×V_ÑV_ÐU`Ð*aÓaÐ(ØˆJØ�9‰9˜	Ô!ØˆJà!¤2§8¡8¨V´R·X±X¸vÄrÇyÁyÐRXÔZ\×ZcÑZcÐdÐeqÕrˆKØ—9‘9 Ô+ÐdÐ/DÀ\ÀNÐRXÐY\×YbÑYbÐXcÐ-dÓdÐ+Ø—<‘< Ó/Ð/r   c	                	óä   € R  p	\         P                  ! VP                  P                  V	! V4      V P	                  V4      WEP                  P                  V	! V4      V P	                  V4      V4      # )c                ó¨   € \        V \        P                  4      '       d2   V P                  P                  ^8w  d   V P
                  P                  # R# )r9   N)rt   r<   r'   r·  r`   ry   r§  )Úscales   &r   Ú_to_scale_handleÚ<TritonSemantic.deduce_scale_factor.<locals>._to_scale_handle  s7   € Ü˜%¤§¡×+Ò+°·±×0AÑ0AÀQÔ0FØ—z‘z×'Ñ'Ð'Ùr   )r   Údeduce_scale_factorry   r§  rª  )
r   r™   Ú	lhs_scaleÚ
lhs_formatÚ
lhs_k_packr›   Ú	rhs_scaleÚ
rhs_formatÚ
rhs_k_packr¼  s
   &&&&&&&&& r   r¾  Ú"TritonSemantic.deduce_scale_factor  sc   € ò	ô
 ×%Ò% c§h¡h§n¡nÑ6FÀyÓ6QÐSW×SgÑSgÐhrÓSsØ&0·(±(·.±.ÑBRÐS\ÓB]Ø&*×&:Ñ&:¸:Ó&FÈ
óTð 	Tr   c                	ó  € Ve?   VP                   P                  pVRR  WV,          .8X  g   Q RV RW6,           RV 24       hVeA   VP                   P                  pVRR  W#V,          .8X  g   Q RV RW6,           RV 24       hR # R # )Nz*lhs_scale must be a tensor of shape [..., r  z]. Got z*rhs_scale must be a tensor of shape [..., r‹  ©ry   r§  )	r   rž  rŸ  r   r¿  rÂ  Úscale_factorÚlhs_scale_shapeÚrhs_scale_shapes	   &&&&&&&  r   Úverify_scaled_shapeÚ"TritonSemantic.verify_scaled_shape  sÇ   € ØÒ Ø'Ÿn™n×2Ñ2ˆOØ" 2 3Ð'Ø˜Õ$ð,ô ð mà;¸A¸3¸bÀÕARÐ@SÐSZÐ[jÐZkÐlómð ð Ò Ø'Ÿn™n×2Ñ2ˆOØ" 2 3Ð'Ø˜Õ$ð,ô ð mà;¸A¸3¸bÀÕARÐ@SÐSZÐ[jÐZkÐlómò ñ !r   c               óH   € V ^8„  d   QhRRRRRRRRRRR	RR
RRRRRRRRRRR/# )r/   r™   r   r¿  rÀ  r  r›   rÂ  r•  rÃ  r}  zTensorTy | NoneÚ	fast_mathrY   rÁ  rÄ  r  rH   r2   r3   )r4   s   "r   r5   r6   (  sw   € ÷ 8tñ 8t˜hð 8t°8ð 8tÈð 8tÐS[ð 8tØ0ð8tØ>Að8tØHWð8tØdhð8tà#ð8tà15ð8tàBJð8tàOWñ8tr   c                	ó	  € VP                   P                  4       '       d!   VP                   P                  4       '       g   Q R 4       h\        VP                  4      p\        VP                  4      pYÍu;8X  d   ^8X  g5   M YÍu;8X  d   ^8X  g%   M Q RVP                   RVP                   R24       hV P	                  V4      pV P	                  V4      p0 RmpVV9   g   Q RV 24       hVV9   g   Q RV 24       hVRJ ;'       g1    \        V\        P                  4      ;'       d    VP                  RJ pVRJ ;'       g1    \        V\        P                  4      ;'       d    VP                  RJ pV P                  W4      pV P                  WF4      pV	'       g   VR8X  g   Q R4       hV
'       g   VR8X  g   Q R4       hVP                   P                  RR w  ppVP                   P                  RR w  ppVR8X  d   ^M^pVR8X  d   ^M^pV	'       d
   VV,          MTpV
'       d
   VV,          MTpVV8X  g#   Q R	VP                   RVP                   R24       hV^8X  d   VP                   P                  ^ ,          MRpTpV	'       g   VV,          pM	VV,          pV
'       g
   VV,          p\        P                  ! TV'       d   VVV.MVV.4      pV P                  P                  ^ 4      pVf7   V P                  P                  VP                  V P                  4      V4      pM°VP                  pVP                   P                  VP                  8X  g,   Q R
VP                   RVP                   P                   24       hVP                   P                   V8X  g:   Q RV RVP                   P                    RVP                   P                    R24       hV'       d   RMVP                  p V'       d   RMVP                  p!V P#                  WW9WEVV
4      p"T P%                  TTTV'       d   RMTV'       d   RMTV"4       V P'                  V P                  P)                  VP                  V!WäP                  V WøWšV4
      V4      # )z7dot_scaled operands must be block tensors (not scalars)r„  r…  re  r²  zNYI: lhs_format zNYI: rhs_format NzBonly mxfp4 inputs can be packed along a dimension different than KzCReduction dimension should pack the same number of elements; (lhs: r‡  r¸  rˆ  r‰  rŠ  >   r°  r²  r¯  r®  r±  r‹  )ry   rÂ  rÃ  r§  rª  rt   r<   ru   r`   r·  r¢  r(   r¯  rÄ  rË   rÉ   r›  r¾  rË  r'   Úcreate_dot_scaled)#r   r™   r¿  rÀ  r›   rÂ  rÃ  r}  rÎ  rÁ  rÄ  r  r›  rœ  Úlhs_format_enumÚrhs_format_enumÚallowed_formatsÚrhs_scale_is_noneÚlhs_scale_is_nonerž  ÚK_LHSÚK_RHSrŸ  ÚPACKED_AÚPACKED_BÚPACKED_A_DIMÚPACKED_B_DIMr¡  r   rò   rh  r¢  Úrhs_scale_handleÚlhs_scale_handlerÈ  s#   &&&&&&&&&&&&                       r   Ú
dot_scaledÚTritonSemantic.dot_scaled(  sb  € ð �x‰x× Ñ ×"Ò" s§x¡x×'8Ñ'8×':Ò':ÐuÐ<uÓuÐ:ä�s—y‘y“>ˆÜ�s—y‘y“>ˆØÖ( qÖ(¨HÖ,EÀAÖ,Eð  	VÐItÐux×u~Ñu~Ðtð  @Ið  JM÷  JSñ  JSð  ITð  TUð  HVó  	VÐEØ×.Ñ.¨zÓ:ˆØ×.Ñ.¨zÓ:ˆÚBˆØ˜_Ô,ÐMÐ0@ÀÀÐ.MÓMÐ,Ø˜_Ô,ÐMÐ0@ÀÀÐ.MÓMÐ,Ø%¨Ð-×rÐr´*¸YÌÏÉÓ2U×2qÐ2qÐZc×ZiÑZiÐmqÐZqÐØ%¨Ð-×rÐr´*¸YÌÏÉÓ2U×2qÐ2qÐZc×ZiÑZiÐmqÐZqÐØ×&Ñ& sÓ7ˆØ×&Ñ& sÓ7ˆç˜Z¨6Ô1ÐwÐ3wÓwÐ1ß˜Z¨6Ô1ÐwÐ3wÓwÐ1Ø—8‘8—>‘> " #Ð&‰ˆˆ5Ø—8‘8—>‘> " #Ð&‰ˆˆqØ" fÔ,‘1°!ˆØ" fÔ,‘1°!ˆß+5�x %Ö'¸5ˆß+5�x %Ö'¸5ˆØ˜|Ô+ð  	TÐ/rÐsv×s|Ñs|Ðr}ð  ~Gð  HK÷  HQñ  HQð  GRð  RSð  .Tó  	TÐ+à!)¨Q¤ˆC�H‰H�N‰N˜1Ö°DˆØˆßØ�H•‰Aà�H•ˆAßØ�H•ˆAÜ—’˜y·q¨1¨a°©)¸qÀ!¸fÓEˆØ�\‰\×"Ñ" 1Ó%ˆØŠ;ØŸ™×2Ñ2°6·<±<ÀÇÁÓ3MÈrÓR‰JàŸ™ˆJØ—8‘8—>‘> V§\¡\Ô1ð SØ-¨f¯l©l¨^¸6À#Ç(Á(Ç.Á.ÐAQÐRóSÐ1à—8‘8×&Ñ&¨)Ô3ð VØ-¨i¨[¸¸s¿x¹x×?RÑ?RÐ>Sð T"Ø"%§(¡(×"5Ñ"5Ð!6Ð6TðVóVÐ3÷ $5™4¸)×:JÑ:JÐß#4™4¸)×:JÑ:JÐà×/Ñ/°À
ÐX[ÐhrØ0:ó<ˆà× Ñ   A q×2C©$Èß):¡À	È<ô	Yà�{‰{Ø�L‰L×*Ñ*¨3¯:©:Ð7GÈ×ZdÑZdÐfvØ+:ÀzÐ_iókØlrótð 	tr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   Ú	conditionr   rz   r  r2   r3   )r4   s   "r   r5   r6   f  s.   € ÷ eñ e˜xð e¨Hð e¸ð eÀhñ er   c                	óR  € VP                   \        P                  8w  d$   \        P                  ! R VP                    24       V P                  V\        P                  4      pV P                  W#RR4      w  r#VP                  P                  4       '       d(   V P                  W4      w  rV P                  W#4      w  r#MV P                  W4      w  rVP                  pV P                  V P                  P                  VP                  VP                  VP                  4      V4      # )zgtl.where with a non-boolean condition is deprecated and will error out in a future triton release. Got T)rM   r<   r†   rŽ  r�  r¤   r°   ry   rÂ  r¥   r'   r(   Úcreate_selectrÉ   )r   rá  rz   r  r  rò   s   &&&&  r   r<  ÚTritonSemantic.wheref  sù   € Ø�?‰?œbŸg™gÔ%Ü�MŠMØyð  {D÷  {Jñ  {Jð  zKð  Lôð —I‘I˜i¬¯©Ó1ˆ	Ø×0Ñ0°°t¸TÓB‰ˆà�>‰>×"Ñ"×$Ò$Ø×4Ñ4°YÓB‰LˆIØ×,Ñ,¨QÓ2‰DˆAˆqà×4Ñ4°YÓB‰LˆIØ—‘ˆØ�{‰{˜4Ÿ<™<×5Ñ5°i×6FÑ6FÈÏÉÐRS×RZÑRZÓ[Ð]cÓdÐdr   c                	óf   € V'       d   \         P                  ! W#4      pMTpV P                  W4      # r*   )r<   r¢  r'   )r   rz   rk   r  Úres_tys   &&&& r   Úwrap_tensorÚTritonSemantic.wrap_tensorz  s)   € ßÜ—]’] 9Ó8‰Fð ˆFØ�{‰{˜1Ó%Ð%r   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   ÚinputsúSequence[TensorTy]r0   r1   r2   úTuple[TensorTy, ...]r3   )r4   s   "r   r5   r6   ‚  s(   € ÷ uñ uÐ 2ð u¸#ð uÐUiñ ur   c                	óB  a aaa	a
€ Vf5   \         ;QJ d    . V 3R lS 4       F  NK  	  5M! V 3R lS 4       4      o^ pS^ ,          P                  P                  o
\        S
4      pW$8  g   Q RV R24       h\	        S
4       UUu. uF  w  rVWR8w  g   K  VNK  	  uppo	\
        ;QJ d    V
3R lS 4       F  '       d   K   RM	  RM! V
3R lS 4       4      '       g   Q R4       hS P                  P                  S Uu. uF  qwP                  NK  	  upV4      oV! S4       SP                  4       '       g   Q h\         ;QJ d,    . VVV	V 3R l\        \        S4      4       4       F  NK  	  5# ! VVV	V 3R l\        \        S4      4       4       4      # u uppi u upi )	Nc              3  ót   <"  € T F-  pSP                  WP                  P                  .R R7      x € K/  	  R# 5i)Træ  N)rÒ  r·  r`   )rú  Útr   s   & €r   rü  Ú+TritonSemantic.reduction.<locals>.<genexpr>„  s.   øé € Ð^ÑW]ÐRS˜4Ÿ<™<¨¯G©G¯M©M¨?È˜<×MÐMÓW]ùs   ƒ58z&reduction axis must be < inputs rank (re  c              3  óT   <"  € T F  qP                   P                  S8H  x € K  	  R # 5ir*   rÇ  )rú  rï  r§  s   & €r   rü  rð  ‹  s   øé € Ð9±&¨Q—6‘6—<‘< 5Ö(³&ùs   ƒ%(FTz-all reduction inputs must have the same shapec              3  óž   <"  € T FB  pSP                  SP                  V4      SV,          P                  P                  S4      x € KD  	  R # 5ir*   ©rç  Ú
get_resultry   r    )rú  r  rê  Ú	reduce_opr  r   s   & €€€€r   rü  rð  ‘  sB   øé € ð uÙasÐ\]ˆD×Ñ˜Y×1Ñ1°!Ó4°f¸Qµi·n±n×6KÑ6KÈY×WÐWÓasùó   ƒA
A)Útuplery   r§  rÃ  r  Úallr(   Úcreate_reducerÉ   Úverifyr¦  )r   rê  r0   Úregion_builder_fnÚrankr  rÑ  rï  rõ  r  r§  s   ff&&    @@@r   Ú	reductionÚTritonSemantic.reduction‚  sS  ü€ ØŠ<ß”UÔ^ÑW]Ó^—U‘UÔ^ÑW]Ó^Ó^ˆFØˆDà�q•	—‘×$Ñ$ˆÜ�5‹zˆØŒ{ÐLÐDÀTÀFÈ!ÐLÓLˆ{Ü#,¨UÔ#3ÔAÑ#3™4˜1°q±y—Q�QÑ#3ÒAˆ	ß‹sÔ9±&Ó9�s�sŠsÔ9±&Ó9×9Ò9ÐjÐ;jÓjÐ9à—L‘L×.Ñ.Á&Ó/IÁ&¸Q·´Á&Ñ/IÈ4ÓPˆ	Ù˜)Ô$Ø×Ñ×!Ò!Ð!Ð!çŒu÷ uÜafÔgjÐkqÓgrÔasóu�uð 	uˆu÷ uÜafÔgjÐkqÓgrÔasóuó uð 	uùó Bùò 0Js   Â
FÂFÃ>Fc               ó(   € V ^8„  d   QhRRRRRRRR/# )	r/   rê  rë  r0   r1   ÚreverserY   r2   rì  r3   )r4   s   "r   r5   r6   ˜  s1   € ÷ xñ xÐ'9ð xÀð xØ"&ðxØ+?ñxr   c                	óz  a aaa€ S^ ,          P                   P                  o\        S4      pV) Tu;8:  d   V8  g   M Q RV RV R24       hV^ 8  d	   W%,          pS F%  pVP                   P                  S8X  d   K   Q R4       h	  S P                  P	                  S Uu. uF  qfP
                  NK  	  upW$4      oV! S4       SP                  4       '       g   Q h\        ;QJ d,    . VVV V3R l\        \        S4      4       4       F  NK  	  5# ! VVV V3R l\        \        S4      4       4       4      # u upi )r   z
scan axis z must be < inputs rank (re  z(all scan inputs must have the same shapec              3  óž   <"  € T FB  pSP                  SP                  V4      SV,          P                  P                  S4      x € KD  	  R # 5ir*   ró  )rú  r  rê  Úscan_opr   r§  s   & €€€€r   rü  Ú2TritonSemantic.associative_scan.<locals>.<genexpr>©  s@   øé € ÐwÑdvÐ_`�T×%Ñ% g×&8Ñ&8¸Ó&;¸VÀA½Y¿^¹^×=RÑ=RÐTY×ZÐZÓdvùrö  )	ry   r§  rÃ  r(   Úcreate_scanrÉ   rú  r÷  r¦  )	r   rê  r0   rû  r   rü  rï  r  r§  s	   ff&&&  @@r   Úassociative_scanÚTritonSemantic.associative_scan˜  s  û€ à�q•	—‘×$Ñ$ˆÜ�5‹zˆàˆu˜Ö#˜tÖ#ÐW z°$°Ð7OÐPTÈvÐUVÐ%WÓWÐ#à�!Œ8Ø�LˆDãˆAØ—6‘6—<‘< 5Ö(ÐTÐ*TÓTÐ(ñ ð —,‘,×*Ñ*¹fÓ+E¹f¸¯H¬H¹fÑ+EÀtÓUˆÙ˜'Ô"Ø�~‰~×ÒÐÐçŒu×wÔdiÔjmÐntÓjuÔdvÓw�uÐwˆu×wÔdiÔjmÐntÓjuÔdvÓwÓwÐwùò	 ,Fs   Â D8c               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   Úsrcr   Úindexr0   r1   r2   r3   )r4   s   "r   r5   r6   ¯  s.   € ÷ Kñ K˜(ð K¨8ð K¸3ð KÀ8ñ Kr   c                	óÜ  € VP                   P                  4       '       g   Q R 4       h\        VP                  P                  4      p\        VP                  P                  4      V8X  g   Q R4       hV) Tu;8:  d   V8  g   M Q RV RV R24       hV^ 8  d	   W4,          p\        V4       FS  pWS8X  d   K  VP                  P                  V,          VP                  P                  V,          8X  d   KJ  Q RV R24       h	  V P                  P                  VP                  VP                  V4      pV P                  WaP                  P                  VP                  P                  4      # )zindex must be an integer tensorz0source and index tensors must have the same rankzgather axis z must be < source rank (re  z
index dim z( must match the corresponding source dim)rM   rj   rÃ  ry   r§  r¦  r(   Úcreate_gatherrÉ   rç  r    )r   r	  r
  r0   rü  rû  Úgathers   &&&&   r   r  ÚTritonSemantic.gather¯  s'  € Ø�{‰{×!Ñ!×#Ò#ÐFÐ%FÓFÐ#ä�3—8‘8—>‘>Ó"ˆÜ�5—:‘:×#Ñ#Ó$¨Ô,Ð`Ð.`Ó`Ð,àˆu˜Ö#˜tÖ#ÐY |°D°6Ð9QÐRVÐQWÐWXÐ%YÓYÐ#Ø�!Œ8Ø�LˆDä�t–ˆAØŒyÙØ—:‘:×#Ñ# AÕ&¨#¯(©(¯.©.¸Õ*;Ö;Ðx¸zÈ$ÈÐOwÐ=xÓxÐ;ñ ð
 —‘×+Ñ+¨C¯J©J¸¿¹ÀdÓKˆØ×Ñ ¯©¯©¸¿¹×9IÑ9IÓJÐJr   c                	ó  € V'       g   R# Vvr#\        \        V4      4       F   pV P                  W#V,          4      w  q#V&   K"  	  \        \        V4      ^,
          4       F   pV P                  W#V,          4      w  q#V&   K"  	  V.VO5# )r9   r3   )r¦  rÃ  r¥   )r   rê  ÚheadÚtailr  s   &*   r   r  Ú TritonSemantic.broadcast_tensorsÅ  s{   € ßØˆIØˆˆÜ”s˜4“yÖ!ˆAØ ×5Ñ5°dÀ½GÓD‰MˆD�q“'ñ "ä”s˜4“y 1•}Ö%ˆAØ ×5Ñ5°dÀ½GÓD‰MˆD�q“'ñ &àˆ}�t‰}Ðr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r/   rê  zSequence[tl.tensor]Úresult_typeszSequence[tl.dtype]Úpackr1   r2   zTuple[tl.tensor, ...]r3   )r4   s   "r   r5   r6   Ï  s2   € ÷ iñ iÐ&9ð iÐI[ð iÐcfð iØ.Cñir   c           	     	ón  a a€ S P                   ! V!  p\        V4      ^ 8”  g   Q R4       hV Uu. uF.  qQ^ ,          P                  P                  VP                  4      NK0  	  ppS P
                  P                  V Uu. uF  qfP                  NK  	  upV Uu. uF  qUP                  S P
                  4      NK  	  upV4      oV! S4       SP                  4       '       g   Q h\        ;QJ d!    . VV 3R l\        V4       4       F  NK  	  5# ! VV 3R l\        V4       4       4      # u upi u upi u upi )r   z1map_elementwise must have at least 1 input tensorc              3  ój   <"  € T F(  w  rSP                  SP                  V4      V4      x € K*  	  R # 5ir*   )r'   rô  )rú  r  rJ  Úelementwise_opr   s   &  €€r   rü  Ú1TritonSemantic.map_elementwise.<locals>.<genexpr>Ý  s.   øé € ÐhÑPgÁuÀq�T—[‘[ ×!:Ñ!:¸1Ó!=¸r×BÐBÓPgùs   ƒ03)r  rÃ  ry   rÊ   r    r(   Úcreate_map_elementwiserÉ   rË   rú  r÷  r  )r   rê  r  r  rû  rJ  rï  r  s   f&&&&  @r   Úmap_elementwiseÚTritonSemantic.map_elementwiseÏ  sõ   ù€ à×'Ò'¨Ñ0ˆä�6‹{˜QŒÐSÐ SÓSˆÙLXÓYÉLÀb˜q�	Ÿ™×6Ñ6°r·y±yÖAÉLˆÐYØŸ™×<Ñ<Ù%Ó&™v˜!�XŒX™vÑ&Ù.:Ó;©l¨�X‰X�d—l‘lÖ#©lÑ;Øó
ˆñ
 	˜.Ô)Ø×$Ñ$×&Ò&Ð&Ð&çŒuÕhÔPYÐZfÔPgÓh�uÐhˆuÕhÔPYÐZfÔPgÓhÓhÐhùò Zùâ&ùÚ;s   ®4D(Á=D-Â#D2
c               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   rÆ   r   Únum_binsr1   r”  r•  r2   r3   )r4   s   "r   r5   r6   ä  s0   € ÷ 	@ñ 	@˜xð 	@°3ð 	@Ð>Pð 	@ÐU]ñ 	@r   c                	ó  € \        VP                  4      ^8X  g   Q R4       hVP                  P                  4       '       g   Q R4       hVe]   V P	                  W1P                  4      pVP
                  P                  P                  4       '       g   \        R4      hVP                  pV P                  V P                  P                  VP                  W#4      \        P                  ! \        P                  V.4      4      # )r9   z histogram only supports 1D inputz%histogram only supports integer inputr  )rÃ  r§  rM   rj   r  ry   r    r=  r:   rÉ   r'   r(   Úcreate_histogramr<   r¢  r=   )r   rÆ   r  r”  s   &&&&r   Ú	histogramÚTritonSemantic.histogramä  sÄ   € Ü�5—;‘;Ó 1Ô$ÐHÐ&HÓHÐ$Ø�{‰{×!Ñ!×#Ò#ÐLÐ%LÓLÐ#ØÒØ×,Ñ,¨T·;±;Ó?ˆDØ—9‘9×#Ñ#×+Ñ+×-Ò-Ü Ð!EÓFÐFØ—;‘;ˆDØ�{‰{˜4Ÿ<™<×8Ñ8¸¿¹ÀxÓVÜŸ=š=¬¯©°H°:Ó>ó@ð 	@r   c               ó$   € V ^8„  d   QhRRRRRR/# ©r/   rz   r   r  r»  r2   r3   )r4   s   "r   r5   r6   ï  s!   € ÷ ñ ˜Xð ¨yð ¸Xñ r   c                	ó  € \        ^\        VP                  4      4      \        V4      8w  d   \        R4      hVP                  P                  R\        P                  ! W!P                  P                  4       4      4       V# )r9   zAShape of input to multiple_of does not match the length of valuesztt.divisibility)	r   rÃ  r§  r:   rÉ   Úset_attrr   Ú	make_attrÚget_context©r   rz   r  s   &&&r   Úmultiple_ofÚTritonSemantic.multiple_ofï  sY   € Üˆq”#�a—g‘g“,Ó¤3 v£;Ô.ÜÐ`ÓaÐaØ	�‰×ÑÐ+¬R¯\ª\¸&Ç(Á(×BVÑBVÓBXÓ-YÔZØˆr   c               ó$   € V ^8„  d   QhRRRRRR/# r$  r3   )r4   s   "r   r5   r6   õ  s!   € ÷ ñ  ð °)ð Àñ r   c                	óò   € \        VP                  4      \        V4      8w  d   \        R 4      hVP                  P	                  R\
        P                  ! W!P                  P                  4       4      4       V# )zDShape of input to max_contiguous does not match the length of valuesztt.contiguity©rÃ  r§  r:   rÉ   r&  r   r'  r(  r)  s   &&&r   Úmax_contiguousÚTritonSemantic.max_contiguousõ  sQ   € Üˆq�w‰w‹<œ3˜v›;Ô&ÜÐcÓdÐdØ	�‰×Ñ˜/¬2¯<ª<¸ÇÁ×@TÑ@TÓ@VÓ+WÔXØˆr   c               ó$   € V ^8„  d   QhRRRRRR/# r$  r3   )r4   s   "r   r5   r6   û  s!   € ÷ ñ ˜xð °ð ¸xñ r   c                	óò   € \        VP                  4      \        V4      8w  d   \        R 4      hVP                  P	                  R\
        P                  ! W!P                  P                  4       4      4       V# )zCShape of input to max_constancy does not match the length of valuesztt.constancyr.  r)  s   &&&r   Úmax_constancyÚTritonSemantic.max_constancyû  sQ   € Üˆq�w‰w‹<œ3˜v›;Ô&ÜÐbÓcÐcØ	�‰×Ñ˜.¬"¯,ª,°v¿x¹x×?SÑ?SÓ?UÓ*VÔWØˆr   c               ó   € V ^8„  d   QhRR/# ©r/   r2   r   r3   )r4   s   "r   r5   r6     s   € ÷ Cñ C˜xñ Cr   c                	ór   € V P                  V P                  P                  4       \        P                  4      # r*   )r'   r(   Úcreate_barrierr<   rÀ  )r   s   &r   Údebug_barrierÚTritonSemantic.debug_barrier  s$   € Ø�{‰{˜4Ÿ<™<×6Ñ6Ó8¼"¿'¹'ÓBÐBr   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r/   Úprefixr  ÚargsúList[TensorTy]ÚhexrY   r2   r   r3   )r4   s   "r   r5   r6     s.   € ÷ añ a 3ð a¨nð aÀ4ð aÈHñ ar   c                	ó  € VP                  R 4      '       g   V'       d
   VR ,          pVP                  R4      '       g   V'       d   VRR R,           p\        V4      ^8”  d!   VP                  R 4      '       g
   R V,           pV Uu. uF  qDP                  NK  	  ppV Uu. uF  qDP                  P                  4       NK  	  ppV P                  V P                  P                  WWV4      \        P                  4      # u upi u upi )Ú r  Nrç  )ÚendswithrÃ  Ú
startswithrÉ   rM   rï   r'   r(   Úcreate_printr<   rÀ  )r   r<  r=  r?  ÚargÚnew_argsÚ	is_signeds   &&&&   r   Údevice_printÚTritonSemantic.device_print  sÉ   € ð �‰˜s×#Ò#¯Ø�c�MˆFØ�‰˜t×$Ò$¯Ø˜C˜R�[ 4Õ'ˆFÜˆv‹;˜Œ? 6×#4Ñ#4°S×#9Ò#9Ø˜6•\ˆFá*.Ó/©$ 3—J”J©$ˆÐ/Ù:>Ó?¹$°3—Y‘Y×,Ñ,Ö.¹$ˆ	Ð?Ø�{‰{˜4Ÿ<™<×4Ñ4°VÀ(ÓVÔXZ×X_ÑX_Ó`Ð`ùò 0ùÚ?s   ÂD Â""Dc               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   rÀ   r   rÁ   r  r”  r•  r2   r3   )r4   s   "r   r5   r6     s0   € ÷ Rñ R (ð R°ð RÐ<Nð RÐS[ñ Rr   c                	ó"  € V P                   P                  P                  '       g   R # Ve!   V P                  WP	                  V4      4      pV P                  V P                   P                  VP                  V4      \        P                  4      # r*   )
r(   r·   Údebugr6  rK  r'   Úcreate_assertrÉ   r<   rÀ  )r   rÀ   rÁ   r”  s   &&&&r   r¼   ÚTritonSemantic.device_assert  sa   € Ø�|‰|×#Ñ#×)×)Ð)ÙØÒØ—8‘8˜D§)¡)¨D£/Ó2ˆDØ�{‰{˜4Ÿ<™<×5Ñ5°d·k±kÀ3ÓGÌÏÉÓQÐQr   c               ó   € V ^8„  d   QhRR/# r6  r3   )r4   s   "r   r5   r6     s   € ÷ Mñ M˜hñ Mr   c                	óˆ   € V P                  V P                  P                  VP                  4      \        P
                  4      # r*   )r'   r(   Úcreate_assumerÉ   r<   rÀ  )r   rÀ   s   &&r   ÚassumeÚTritonSemantic.assume  s*   € Ø�{‰{˜4Ÿ<™<×5Ñ5°d·k±kÓBÄBÇGÁGÓLÐLr   c                	óò  € \        V\        4      '       d   \        P                  ! V4      p\        V\        P                  4      '       dø   \        VP                  \
        4      '       d&   V P                  P                  VP                  4      # V'       dV   R	VP                  u;8:  d   R8  g   M Q RVP                   R24       hV P                  P                  VP                  4      # RVP                  u;8:  d   R
8  g   M Q RVP                   R24       hV P                  P                  VP                  4      # \        V\        P                  4      '       Ed   VP                  P                  ^8X  g   Q R4       hVP                  P                  4       '       g   Q R4       hVP                  \        P                  8w  d`   V'       dX   V P                  P                  VP                   V P                  P#                  4       VP                  P%                  4       4      # VP                  \        P                  8X  d   V'       g   Q R4       hVP                   # Q R\'        T4       24       h)r/   z@Block pointers only support 64 bit `shape/strides`, got a value z which is out of the rangezFBlock pointers only support 32 bit `offsets/block_shape`, got a value z*Expected a scalar in shape/strides/offsetsz8Expected an integer scalar type in shape/strides/offsetszzBlock pointers only support 32 bit `offsets/block_shape`, add a `.to(tl.int32)` or use regular indexing for 64 bit supportz3Unsupported element type in shape/strides/offsets: rƒ   r„   r�   r‚   )rt   r1   r<   ru   r`   rY   r(   r&  rD  r“  r'   r·  rM   rj   rˆ   rÌ   rÉ   Úget_int64_tyrï   ry   )r   Úelemr­  s   &&&r   Ú_convert_elem_to_ir_valueÚ(TritonSemantic._convert_elem_to_ir_value  sà  € Ü�dœC× Ò Ü—<’< Ó%ˆDÜ�dœBŸL™L×)Ò)Ü˜$Ÿ*™*¤d×+Ò+Ø—|‘|×,Ñ,¨T¯Z©ZÓ8Ð8ßØ §¡Ö3¨eÖ3ð Jð 8#Ø#'§:¡: ,Ð.Hð6Jó JÐ3à—|‘|×-Ñ-¨d¯j©jÓ9Ð9à §¡Ö3¨eÖ3ð Jð 8#Ø#'§:¡: ,Ð.Hð6Jó JÐ3à—|‘|×-Ñ-¨d¯j©jÓ9Ð9Ü˜œbŸi™i×(Ó(Ø—:‘:×#Ñ# qÔ(ÐVÐ*VÓVÐ(Ø—:‘:×$Ñ$×&Ò&ÐbÐ(bÓbÐ&Ø�z‰zœRŸX™XÔ%¯+Ø—|‘|×3Ñ3°D·K±KÀÇÁ×AZÑAZÓA\Ø48·J±J×4LÑ4LÓ4NóPð Pà—‘œrŸx™xÔ'·ðWð Wó W�uà—;‘;ÐØXÐKÌDÐQUËJÈ<ÐXÓXˆur   c                	ó”   € \        VR 4      '       d!   V Uu. uF  q0P                  W24      NK  	  up# V P                  W4      .# u upi )Ú__iter__)ÚhasattrrW  )r   Ú	list_liker­  rV  s   &&& r   r°  Ú$TritonSemantic._convert_to_ir_values6  sI   € Ü�9˜j×)Ò)ÙR[Ó\ÑR[È$×2Ñ2°4ÖEÑR[Ñ\Ð\Ø×.Ñ.¨yÓFÐGÐGùò ]s   —Ac               ó0   € V ^8„  d   QhRRRRRRRRRR	R
R/# )r/   Úbaser   r§  r>  Ústridesr¯  zList[tl.constexpr]rs  r  r2   ztl.tensor_descriptorr3   )r4   s   "r   r5   r6   ;  sB   € ÷ (Bñ (B¨8ð (B¸Nð (BÐUcð (BØ,>ð(BØPSð(BØauñ(Br   c           	     	ó¸  € \        V4      p^Tu;8:  d   ^8:  g   M \        RV R24      h\        V4      V8w  d   \        RV R\        V4       24      h\        V4      V8w  d   \        RV R\        V4       24      h\        VP                  \        P
                  4      '       g   Q RVP                   24       hVP                  P                  P                  ^,          p\        P                  ! VR,          4      pW‡,          ^8  d   \        RV R	V R
W‡,           R24      h\        P                  ! VR,          4      p	V	^8w  d   \        RV	 24      hV U
u. uF"  q P                  V
\        P                  4      NK$  	  pp
V U
u. uF6  q P                  \        P                  ! V
4      \        P                  4      NK8  	  pp
\        P                  ! V4      p\        VP                  \        P
                  4      '       g   Q RVP                   24       h\        P                  ! VP                  P                  V4      pVP                  pVP                  P                  P!                  4       pV P#                  V4      pVP                  P                  P%                  4       '       d+   V\&        P(                  P*                  8X  d   \        R4      hV P,                  P/                  YÂ Uu. uF  qÿP                  NK  	  upV Uu. uF  qÿP                  NK  	  upWMV4      p\        P0                  ! VW#V4      # u up
i u up
i u upi u upi )r9   z Expected 1 <= ndim <= 5 but got z dimensionsz	Expected z strides but got zExpected block_shape to have z dimensions but got z!base must be a pointer type, got zRDescriptor block shape must have at least 16 bytes in the last dimension, but got z * z = z bytesz-Tensor descriptor last dim must be 1 but got z8Padding option `nan` is not supported for integer blocksrç  )rÃ  r:   rt   rM   r<   r�  r›  r+  rÖ  r¸  r=   rˆ   Ú_unwrap_shapery   r¢  rÉ   rï   ru  rj   r   rp  rr  r(   Úcreate_make_tensor_descriptorÚtensor_descriptor)r   r_  r§  r`  r¯  rs  r³  Ú	elem_sizeÚcontig_dim_sizeÚlast_striderz   ry   Úbase_handleÚis_signed_intrt  rÑ  rÉ   s   &&&&&&           r   Úmake_tensor_descriptorÚ%TritonSemantic.make_tensor_descriptor;  sö  € ä�5‹zˆØ�T–˜Q–ÜÐ?À¸vÀ[ÐQÓRÐRÜˆw‹<˜4ÔÜ˜y¨¨Ð.?ÄÀGÃ¸~ÐNÓOÐOÜˆ{Ó˜tÔ#ÜÐ<¸T¸FÐBVÔWZÐ[bÓWcÐVdÐeÓfÐfÜ˜$Ÿ*™*¤b§o¡o×6Ò6ÐhÐ:[Ð\`×\fÑ\fÐ[gÐ8hÓhÐ6Ø—J‘J×)Ñ)×<Ñ<ÀÕAˆ	Ü×1Ò1°+¸bµ/ÓBˆØÕ&¨Ô+ÜØdÐetÐduÐuxð  zCð  yDð  DGð  HWõ  Hcð  Gdð  djð  kóð ô ×-Ò-¨g°b­kÓ:ˆØ˜!ÔÜÐLÈ[ÈMÐZÓ[Ð[á8=Ó>¹°1×!Ñ! !¤R§X¡XÖ.¹ˆÐ>ÙSZÓ[ÑSZÈa×#Ñ#¤B×$;Ò$;¸AÓ$>ÄÇÁÖIÑSZˆÐ[ô ×&Ò& {Ó3ˆä˜$Ÿ)™)¤R§_¡_×5Ò5ÐfÐ9ZÐ[_×[dÑ[dÐZeÐ7fÓfÐ5Ü�}Š}˜TŸY™Y×1Ñ1°;Ó?ˆØ—k‘kˆØŸ	™	×,Ñ,×:Ñ:Ó<ˆà×-Ñ-¨nÓ=ˆà�9‰9×Ñ×&Ñ&×(Ò(¨W¼×8IÑ8I×8QÑ8QÔ-QÜÐWÓXÐXà—‘×;Ñ;¸KÐ\aÓIbÑ\aÐWXÏ(Ì(Ñ\aÑIbÙOVÓ<WÉwÈ!¿X¼XÉwÑ<WÐYdØ<CóEˆô ×#Ò# F¨E¸DÓAÐAùò' ?ùÚ[ùò JcùÚ<Ws   Å (MÆ<MË9M
ÌMr+   )T)FFTFr*   )rn  ){r   r    r!   r"   r<   r'   Ú__annotations__Úlangr   r?   rD   rU   rm   r|   rw   r–   r°   rÂ   rÏ   rÚ   râ   rë   ró   rù   r   r  r  r#  r)  r¹   r6  r;  rA  rE  rK  rQ  rW  r\  ra  rØ   rI  rs  r{  r»   r‰  rº   r•  rœ  r©  rx   r¸  r¾  r½  rÊ  rÒ  rÙ  rà  rì  ró  r  r  r¥   r&  r@  r¤   rZ  r`  rk  ru  r„  r�  r£  r´  r¹  rÁ  rÌ  rÕ  rØ  rÝ  rã  rè  rî  ró  r  r  r  r  r  r)  r2  rI  rN  rS  rZ  r`  re  rk  rz  r£  rª  r·  r¾  rË  rÞ  r<  rç  rý  r  r  r  r  r!  r*  r/  r3  r9  rH  r¼   rR  rW  r°  rj  r#   r3   r   r   r&   r&      s§  ‡ ØŸY™Y€FˆNÓ&Ø€DàÓòõOõ
QõDõ05ôd	òKõF	@÷#õJ,õ$>õ>8õ"8õ]õ2>õ
,õ8õ.9õ"9õ"	aõõ\õ[õ\õ'õ&õ"õ
]õ]õ\õõ)õ$õ/õ8õ8õ8õ8õ	8õ	8ðZÀd÷ Zõ$)õ2õAõhõSõfõXõVõõ0
õTõWõ 3õrtõj÷$i9ò^òò	ò	òòõ=õ~
/õJõnõuò@ò[õ
uõuõuõuõuõ$õ6*ò0	õ.$õhuõõ6+õ$)õL$)õL%õyõxõyõò
<õbyõHõ0ò$	Tò
mõ8tõ|eò(&õuõ,xõ.Kò,õiõ*	@õõõõCõaõRõMòYô4H÷
(Bó (Br   r&   )Ú
__future__r   rŠ   rŽ  Útypingr   r   r   r   r   r	   r
   rž   Útriton.runtimer   Ú_C.libtritonr   r÷  r   r<   r   r   Ú	Exceptionr   r&   r3   r   r   Ú<module>rs     sY   ðÝ "Û Û ç J× JÑ JÛ å !å Ý áˆCƒL€Ù�:Ó€ôF 	ô FôIB�W˜XÕ&ö IBr   