�
2��g� � �L � d dl mZ d dlmZmZmZmZmZ ddlm Z ddl
mZ ddl
m
Z
ed� � Z G d � d
e� � Zd�d�Zd�d�Zd�d�Zd�d�Zd�d�Z d�d�d$�Zd�d'�Zd�d(�Zd�d)�Zd�d*�Zd�d+�Zd�d-�Zd�d.�Zd�d3�Zd�d4�Zd�d7�Z d�d8�Z!d�d9�Z"d�d:�Z#d�d;�Z$d�d<�Z%d�d=�Z&d�d>�Z'd�d?�Z(d�d@�Z)d�dA�Z*d�dB�Z+d�dC�Z,d�dD�Z-d�dG�Z.d�dH�Z/d�dI�Z0d�dJ�Z1d�dK�Z2d�dL�Z3d�dM�Z4d�dP�Z5d�dT�Z6d�dV�Z7d�dY�Z8d�dZ�Z9d�d[�Z:d�d^�Z;d�d_�Z<d�db�Z=d�dc�Z>d�dd�Z?d�dg�Z@d�di�ZA d�d�dl�ZBdm� ZCdn� ZDdo� ZEdp� ZFdq� ZGdr� ZHds� ZIdt� ZJdu� ZKd�d��ZLd�d��ZMd�d��ZNd�� ZOd�� ZPd�d��ZQd�d��ZRd�d��ZSd�d��ZTd�d��ZUd�d��ZVd�d��ZWd�d��ZXd�d��ZYd�d��ZZd�� Z[d�d��Z\d�d��Z]d�� Z^d�d��Z_d�d��Z`d�d��Zad�d��Zbd�d��Zcd�d��Zdd�d��Zed�d��Zfd�d��Zgd�� Zhd�d��Zid�d��Zjd�d��ZkdjS )�� )�annotations)�List�Optional�Sequence�Tuple�TypeVar� )�ir� )�core)�math�Tc � � � e Zd Z� fd�Z� xZS )�IncompatibleTypeErrorImplc �� �� || _ || _ d| j � � � z dz | j � � � z | _ t t
| � � � | j � � d S )Nzinvalid operands of type � and )�type_a�type_b�__repr__�message�superr �__init__)�selfr r � __class__s ��h/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/triton/language/semantic.pyr z"IncompatibleTypeErrorImpl.__init__ sl �� �������2�T�[�5I�5I�5K�5K�K�g�U�X\�Xc�Xl�Xl�Xn�Xn�n���
�'��.�.�7�7���E�E�E�E�E� )�__name__�
__module__�__qualname__r �
__classcell__)r s @r r r sA �� � � � � �F� F� F� F� F� F� F� F� Fr r �axis�int�builder�
ir.builder�return� tl.tensorc � � | dvrt d| � �� � �t j |� | � � t j � � S )N�r r r z+program_id axis must be 0, 1, or 2 but got )�
ValueError�tl�tensor�create_get_program_id�int32�r! r# s r �
program_idr/ sF � ��9����M�t�M�M�N�N�N�
�9�W�2�2�4�8�8�"�(�C�C�Cr c � � | dvrt d| � �� � �t j |� | � � t j � � S )Nr( z-num_programs axis must be 0, 1, or 2 but got )r) r* r+ �create_get_num_programsr- r. s r �num_programsr2 sF � ��9����O��O�O�P�P�P�
�9�W�4�4�T�:�:�B�H�E�E�Er �a_ty�tl.dtype�b_tyc � � | j }|j }| j }|j }||k r
||k r| n|S |t j j j k r
||k r| n|S |t j j j k r
||k r|n| S t
d|� d|� �� � �)Nzunexpected signedness r )�int_bitwidth�int_signednessr* �dtype�
SIGNEDNESS�UNSIGNED� TypeError)r3 r5 �a_rank�b_rank�a_sn�b_sns r �integer_promote_implrA + s� � �
�
�F�
�
�F���D���D� �t�|�|�����t�t�D�0�
���$�-� -� -���'�'�t�t�T�1�
���$�-� -� -���'�'�t�t�T�1�
�>�T�>�>��>�>�
?�
?�?r �
div_or_mod�boolc �~ � | � � � s|� � � rt j S | � � � s|� � � rt j S | � � � s|� � � r|rt j S t j S | � � � s|� � � rN|rt j S | � � � r |� � � rt j S t j S | � � � r|� � � st d| � d|� �� � �|rO| j |j k r?t d| � � � z dz |� � � z dz � � �t | |� � S )N�unexpected type r zCannot use /, #, or % with �x because they have different signedness;this is unlikely to result in a useful answer. Cast them to the same signedness.)�is_fp64r* �float64�is_fp32�float32�is_fp16�float16�is_bf16�bfloat16�is_intr<