+
    –°³j  ã                   ó˜  € ^ RI t ^ RIt^ RIt^ RIHt ^ RIHt ^RIHt	 ^RI
HtHtHtHt ^RIHtHt ^RIHtHtHtHt ]P0                  ! ]4      tRt^t^t] P<                  R	 R
 l4       tR R lt R R lt!] P<                  R R l4       t"R R ltRRRR/R R llt]PF                  ! R]! ]]PH                  ],          4      4       R# )é    N)Úcast©ÚVersion)Úcuda)Ú_available_versionÚ_unavailable_reasonÚcheck_native_jit_disabledÚcheck_native_version_skip)Údsl_registryÚDSLModuleProtocol)Ú	_OpCondFnÚ	_OpImplFnÚderegister_op_overridesÚregister_op_overrideÚtritonc                óT   € V ^8„  d   QhR\         \        \        R,          3,          /# ©é   ÚreturnN)ÚtupleÚboolr   )Úformats   "Ú[/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/_native/triton_utils.pyÚ__annotate__r   !   s!   € ÷ ñ ¤%¬¬g¸­nÐ(<Õ"=ñ ó    c                 óº   € \         P                  ! 4       '       g   R# R.p \        V 4      pVf   Rp\        R4      pW#3# \        P                  RV4       RpRpW#3# )zC
Check if triton is available

NOTE: must not import at this point
FNr   Tz*triton native DSL ops require: `triton` %s)FN)r   r   )Ú_cudaÚis_builtr   r   ÚlogÚinfo)ÚdepsÚreasonÚ	availableÚversions       r   Ú_check_runtime_availabler%       sr   € ô �>Š>×ÒØÐð 	ð€Dô ! Ó&€FØ‚~Øˆ	Ü$ XÓ.ˆð ÐÐô 	�‰Ð=¸vÔFØˆ	ØˆØÐÐr   c                ó$   € V ^8„  d   QhR\         /# ©r   r   ©r   )r   s   "r   r   r   <   s   € ÷ ñ œ4ñ r   c                  ó   € \        4       w  rV # ©N©r%   )r#   Ú_s     r   Úruntime_availabler-   <   s   € Ü+Ó-�L€IØÐr   c                ó2   € V ^8„  d   QhRR\         ,          /# r   r   )r   s   "r   r   r   A   s   € ÷ ñ ˜¤�ñ r   c                  ó   € \        4       w  rV# r*   r+   )r,   r$   s     r   Úruntime_versionr0   A   s   € Ü)Ó+�J€AØ€Nr   c                ó$   € V ^8„  d   QhR\         /# r'   r(   )r   s   "r   r   r   G   s   € ÷ ñ ¤ñ r   c                  óú   € \        4       w  rVf   R# VP                  \        8H  pVP                  \        8¬  pV'       d	   V'       g   \        4       '       d   R# \        P                  RV\        \        4       R# )NFTzetriton version %s is not sufficient (>= (%s.%s.*)); set TORCH_NATIVE_SKIP_VERSION_CHECK=1 to override)r%   ÚmajorÚ_TRITON_REQUIRED_VERSION_MAJORÚminorÚ_TRITON_MINIMUM_VERSION_MINORr
   r   r    )r,   r$   Úmajor_okÚminor_oks       r   Ú_version_is_sufficientr9   F   sd   € ä)Ó+�J€Aà‚Ùð �}‰}Ô >Ñ>€HØ�}‰}Ô =Ñ=€Hç—XÔ";×"=Ò"=Ùä‡H�Hð	<àÜ&Ü%ôñ r   c                ó   € V ^8„  d   QhRR/# r   © )r   s   "r   r   r   ^   s   € ÷ Fñ F ñ Fr   c                 ó&   € \        \        R7       R# )z#
Deregister all ops through triton
)Údisable_dsl_namesN)Ú_deregister_op_overrides_implÚ_TRITON_DSL_NAMEr;   r   r   r   r   ^   s   € ô "Ô4D×Er   Úallow_multiple_overrideFÚunconditional_overridec                ó~   € V ^8„  d   QhR\         R\         R\         R\        R,          R\        R\        R\        R	R/# )
r   Ú
lib_symbolÚ	op_symbolÚdispatch_keyÚcondNÚimplr@   rA   r   )Ústrr   r   r   )r   s   "r   r   r   e   s]   € ÷ ñ Üðäðô ðô �dÕ
ð	ô
 ðô "ðô !ðð 
ñr   c               ó¤   € \        4       w  rxV'       d   \        4       '       d   R# \        4       '       g   R# \        \        V VVVVVVR7       R# )z•
See torch/_native/registry.py for the underlying implementation
and arguments. This is a thin, DSL-checking wrapper over
_register_op_override_impl
N)r@   rA   )r%   r	   r9   Ú_register_op_override_implr?   )	rC   rD   rE   rF   rG   r@   rA   r#   r$   s	   &&&&&$$  r   r   r   e   sJ   € ô 2Ó3Ñ€IßÔ3×5Ò5Ùä!×#Ò#ÙäÜØØØØØØ 7Ø5÷	r   )%Ú	functoolsÚloggingÚsysÚtypingr   Útorch._vendor.packaging.versionr   Úbackendsr   r   Úcommon_utilsr   r   r	   r
   r   r   Úregistryr   r   r   r>   r   rJ   Ú	getLoggerÚ__name__r   r?   r4   r6   Úcacher%   r-   r0   r9   Úregister_dslÚmodulesr;   r   r   Ú<module>rX      sÓ   ðÛ Û Û 
Ý å 3å $÷ó ÷ :÷ó ð ×Ò˜Ó!€ð Ð Ø!"Ð Ø !Ð ð ‡�ôó ðõ6õ
ð
 ‡�ôó ðõ.Fðð %*ðð $)÷ðH × Ò ˜(¡DÐ):¸C¿K¹KÈÕ<QÓ$RÖ Sr   