Ë
    ÛéñiJ  ã                   ó†  — d Z ddlmZ ddlmZ ddlmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZu ddlmvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZm€Z€m�Z�m‚Z‚mƒZƒm„Z„m…Z…m†Z† ddl‡mˆZˆm‰Z‰mŠZŠm‹Z‹mŒZŒm�Z�mŽZŽm�Z�m�Z�m‘Z‘ ddlm’Z’ g d	¢Z“d
„ Z”y)zisort:skip_fileé   )Úmath)Úextra)ÚargmaxÚargminÚbitonic_mergeÚcdivÚcumprodÚcumsumÚflipÚ
interleaveÚmaxÚminÚravelÚ	reduce_orÚsigmoidÚsoftmaxÚsortÚsumÚ	swizzle2dÚtopkÚxor_sumÚzerosÚ
zeros_like)[ÚPropagateNanÚTRITON_MAX_TENSOR_NUMELÚload_tensor_descriptorÚstore_tensor_descriptorÚmake_tensor_descriptorÚtensor_descriptorÚtensor_descriptor_typeÚaddÚadvanceÚarangeÚassociative_scanÚassumeÚ
atomic_addÚ
atomic_andÚ
atomic_casÚ
atomic_maxÚ
atomic_minÚ	atomic_orÚatomic_xchgÚ
atomic_xorÚbfloat16Ú
block_typeÚ	broadcastÚbroadcast_toÚcatÚcastÚclampÚ	conditionÚconstÚ	constexprÚconstexpr_typeÚdebug_barrierÚdevice_assertÚdevice_printÚdotÚ
dot_scaledÚdtypeÚexpand_dimsÚfloat16Úfloat32Úfloat64Úfloat8e4b15Ú
float8e4nvÚ
float8e4b8Úfloat8e5Úfloat8e5b16ÚfullÚgatherÚ	histogramÚinline_asm_elementwiseÚint1Úint16Úint32Úint64Úint8ÚjoinÚloadÚmake_block_ptrÚmap_elementwiseÚmax_constancyÚmax_contiguousÚmaximumÚminimumÚmulÚmultiple_ofÚnum_programsÚpermuteÚpi32_tÚpointer_typeÚ
program_idÚrangeÚreduceÚreshapeÚsliceÚsplitÚstatic_assertÚstatic_printÚstatic_rangeÚstoreÚsubÚtensorÚtransÚtupleÚ
tuple_typeÚuint16Úuint32Úuint64Úuint8ÚviewÚvoidÚwhere)ÚumulhiÚexpÚexp2ÚfmaÚlogÚlog2ÚcosÚrsqrtÚsinÚsqrtÚsqrt_rnÚabsÚfdivÚdiv_rnÚerfÚfloorÚceil)
Úpair_uniform_to_normalÚphiloxÚphilox_implÚrandÚrand4xÚrandintÚ	randint4xÚrandnÚrandn4xÚuint_to_uniform_float)Útarget_info)Œ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/   r0   r1   r2   r3   r   r…   r4   r5   r6   r7   r8   r{   r	   r
   r9   r:   r;   r‚   r<   r=   r>   rƒ   rv   rw   r?   r   r�   r   r@   rA   rB   rC   rD   rE   rF   rG   r„   rx   rH   rI   rJ   rK   r   rL   rM   rN   rO   rP   rQ   rR   ry   rz   rS   rT   r   r   rU   rV   rW   r   rX   rY   rZ   r[   r†   r\   r‡   rˆ   r]   r^   r_   r‰   rŠ   r‹   rŒ   r�   rŽ   r`   r   ra   r   rb   r|   rc   r   r}   r   r   rd   r~   r   re   rf   rg   rh   ri   r   r   r�   rj   r   rk   rl   rn   ro   rp   rq   r�   ru   rr   rs   rt   r   r   r   c           	      ód  — ddl m} t        | |«      rIt        | «      j                  j                  dd «      }t        | D �cg c]  }t        ||«      ‘Œ c}|«      S | d   dk(  r/| dd  } d}| d   dk(  r| dd  } d}t        | |«      }t        ||¬	«      S | j                  d
«      �rW| j                  d«      d   j                  d«      }|j                  dd¬«      \  }}	|	j                  dd¬«      \  }
}	|
j                  d«      j                  d«      D �cg c]  }t        |j                  «       «      ‘Œ }
}|	j                  d«      }t        |«      }t        |d «      }t        |
«      }t        t         g|z  «      }t        t"        g|z  «      }t%        ||
«      }|rPddlm}m}m} ddlm} ddlm} t5        |t7        |||¬«      «      }t        ||«      r |||||«      S  |||||«      S t1        |||«      S | j                  d«      rt9        |«      S i dt:        “dt<        “dt>        “dt@        “dtB        “dtD        “dtF        “dtH        “dtJ        “dtL        “dtN        “dtP        “d t         “d!t"        “d"tL        “d#tR        “d$tT        “tV        tX        tL        d%œ¥}||    S c c}w c c}w )&Né    )rl   Ú_fieldsÚ*r   FÚkT)Ú
element_tyr6   Ú
tensordescú<ú>ú[)Úmaxsplitú]ú,)ÚNVMMASharedLayoutÚPaddedSharedLayoutÚSwizzledSharedLayout)r    r7   Úfp8e4nvÚfp8e4b8Úfp8e5Úfp8e5b16Úfp8e4b15Úfp16Úbf16Úfp32Úfp64Úi1Úi8Úi16Úi32Úi64Úu1Úu8Úu16)Úu32Úu64ÚB)-Úbuiltinsrl   Ú
isinstanceÚtypeÚ__dict__Úgetrm   Ú	str_to_tyr^   Ú
startswithrd   ÚrstripÚintÚstripÚlstripÚlenrN   rO   r/   Ú+triton.experimental.gluon.language._layoutsrž   rŸ   r    Ú4triton.experimental.gluon.language.nvidia.hopper.tmar    Ú2triton.experimental.gluon.language.amd.gfx1250.tdmÚevalÚdictr8   rD   rE   rF   rG   rC   r@   r.   rA   rB   rL   rP   rM   rq   rn   ro   rp   )ÚnameÚcrl   ÚfieldsÚxr6   ÚtyÚinnerr>   ÚrestÚblock_shapeÚsÚlayoutÚis_gluonÚndimÚ
shape_typeÚstride_typeÚblockrž   rŸ   r    Únvidia_tensor_descriptor_typeÚamd_tensor_descriptor_typeÚtyss                           úZ/var/www/pod-logistic/pod-ai/venv/lib/python3.12/site-packages/triton/language/__init__.pyrº   rº     sú  € Ýä�$˜ÔÜ�d“×$Ñ$×(Ñ(¨°DÓ9ˆÜ°DÖ9¨qœ9 Q¨�?Ò9¸6ÓBÐBàˆA�w�#‚~Ø�A�BˆxˆØˆØ�‰7�cŠ>Ø˜˜�8ˆDØˆEÜ�t˜QÓˆÜ r°Ô7Ð7à‡��|Õ$Ø—
‘
˜3“ Ñ"×)Ñ)¨#Ó.ˆØ—k‘k #°�kÓ2‰ˆˆtØ ŸJ™J s°Q˜JÓ7Ñˆ�TØ/:×/AÑ/AÀ#Ó/F×/LÑ/LÈSÓ/QÖR¨!”s˜1Ÿ7™7›9•~ÐRˆÐRØ—‘˜SÓ!ˆÜ�v“;ˆÜ˜% Ó&ˆÜ�;ÓˆÜ¤ ¨$¡Ó/ˆ
ä ¤5 '¨D¡.Ó2ˆÜ˜5 +Ó.ˆÙßÑõ EÝÜØÜÐ'8ÐM_Ø*>ô@óAˆFô ˜&Ð"3Ô4Ù4°U¸JÈÐU[Ó\Ð\á1°%¸À[ÐRXÓYÐYÜ% e¨Z¸ÓEÐEà‡��{Ô#Ü˜aÓ Ð ðØ”:ðà”:ðð 	”ðð 	”Kð	ð
 	”Kðð 	”ðð 	”ðð 	”ðð 	”ðð 	Œdðð 	Œdðð 	Œuðð 	Œuðð 	Œuðð 	Œdðð  	Œeð!ð" 	Œvð#ô$ ÜÜò)€Cð, ˆt‰9Ðùò :ùò Ss   ÁJ(Ä J-N)•Ú__doc__Ú r   r   Ústandardr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úcorer   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   Úrandomr†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   Ú__all__rº   © ó    rØ   ú<module>rá      sû   ðÙ õ Ý ÷÷ ÷ ÷ ÷ õ ÷.\÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \÷ \ñ \÷z÷ ÷ ÷ õ ÷÷ ÷ õ òM€ó`Drà   