§
    NŠtj  ã                   óÄ   — d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZ  ed¬¦  «         G d„ d	e¦  «        ¦   «         Z G d
„ de¦  «        Z G d„ de¬¦  «        ZdS )é    )ÚABCMetaÚabstractmethod)Ú	dataclass)ÚEnum)ÚDictÚUnion)Ú
ModuleTypeT)Úfrozenc                   ó>   — e Zd ZU eed<   eeef         ed<   eed<   dS )Ú	GPUTargetÚbackendÚarchÚ	warp_sizeN)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__r   Úint© ó    úV/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/triton/backends/compiler.pyr   r      s8   € € € € € € ð €L€L�Là
��S�Œ/ÐÐÑØ€N€N�N€N€Nr   r   c                   ó   — e Zd ZdZdZdZdS )ÚLanguagez1The input language being compiled by the backend.r   é   N)r   r   r   Ú__doc__ÚTRITONÚGLUONr   r   r   r   r      s   € € € € € Ø;Ð;Ø€FØ€E€E€Er   r   c                   ó2  — e Zd ZdZdeddfd„Zeedefd„¦   «         ¦   «         Zede	fd„¦   «         Z
ededefd	„¦   «         Zed
ededdfd„¦   «         Zed„ ¦   «         Zedee	ef         fd„¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         ZdS )ÚBaseBackendTÚtargetÚreturnNc                 óB   — || _         |                      |¦  «        sJ ‚d S ©N)r!   Úsupports_target)Úselfr!   s     r   Ú__init__zBaseBackend.__init__   s)   € ØˆŒØ×#Ò# FÑ+Ô+Ð+Ð+Ð+Ð+Ð+r   c                 ó   — t           ‚r$   ©ÚNotImplementedError)r!   s    r   r%   zBaseBackend.supports_target   ó
   € õ "Ð!r   c                 ó   — t           ‚)z,Returns a unique identifier for this backendr)   ©r&   s    r   ÚhashzBaseBackend.hash#   r+   r   Úoptionsc                 ó   — t           ‚)zÇ
        Converts an `options` dictionary into an arbitrary object and returns it.
        This function may contain target-specific heuristics and check the legality of the provided options
        r)   )r&   r/   s     r   Úparse_optionszBaseBackend.parse_options(   s
   € õ "Ð!r   Ústagesc                 ó   — t           ‚)a×  
        Populates `stages` dictionary with entries of the form:
        ir_name [str] => Function[(src: str, metadata: dict) -> str|bytes]
        The value of each entry may populate a `metadata` dictionary.
        Stages will be run sequentially (in inseriton order) and can communicate using `metadata`.
        All stages are expected to return a `str` object, except for the last stage which returns
        a `bytes` object for execution by the launcher.
        r)   )r&   r2   r/   s      r   Ú
add_stageszBaseBackend.add_stages0   s
   € õ "Ð!r   c                 ó   — t           ‚)zK
        Load additional MLIR dialects into the provided `context`
        r)   )r&   Úcontexts     r   Úload_dialectszBaseBackend.load_dialects<   ó
   € õ
 "Ð!r   c                 ó   — t           ‚)z\
        Return a map of interface modules to their device-specific implementations
        r)   r-   s    r   Úget_module_mapzBaseBackend.get_module_mapC   r8   r   c                 óP   — t          | t          ¦  «        sJ ‚g }d| v r|ddggz  }|S )NÚDztt.divisibilityé   )Ú
isinstancer   )ÚdescÚrets     r   Ú
parse_attrzBaseBackend.parse_attrJ   s>   € å˜$¥Ñ$Ô$Ð$Ð$Ð$ØˆØ�$ˆ;ˆ;ØÐ&¨Ð+Ð,Ñ,ˆCØˆ
r   c                 óH   — | dz  dk    r|                      dd¦  «        rdS dS ©Nr=   r   ÚalignFr<   Ú )Úget©ÚargÚkwargss     r   Úget_int_specializationz"BaseBackend.get_int_specializationR   s+   € à�‰8�qŠ=ˆ=˜VŸZšZ¨°Ñ7Ô7ˆ=Ø�3Øˆrr   c                 ól   — |                       ¦   «         dz  dk    r|                     dd¦  «        rdS dS rC   )Údata_ptrrF   rG   s     r   Úget_tensor_specializationz%BaseBackend.get_tensor_specializationX   s7   € à�<Š<‰>Œ>˜BÑ !Ò#Ð#¨¯
ª
°7¸EÑ(BÔ(BÐ#Ø�3Øˆrr   )r   r   r   Ú%supports_native_tensor_specializationr   r'   Ústaticmethodr   r%   r   r.   ÚdictÚobjectr1   r4   r7   r   r	   r:   rA   rJ   rM   r   r   r   r    r       s“  € € € € € Ø,0Ð)ð,˜yð ,¨Tð ,ð ,ð ,ð ,ð Øð" 	ð "ð "ð "ñ „^ñ „\ð"ð ð"�cð "ð "ð "ñ „^ð"ð ð" Tð "¨fð "ð "ð "ñ „^ð"ð ð	" ð 	"°ð 	"¸4ð 	"ð 	"ð 	"ñ „^ð	"ð ð"ð "ñ „^ð"ð ð"  S¨* _Ô 5ð "ð "ð "ñ „^ð"ð ðð ñ „\ðð ðð ñ „\ðð
 ðð ñ „\ðð ð r   r    )Ú	metaclassN)Úabcr   r   Údataclassesr   Úenumr   Útypingr   r   Útypesr	   rQ   r   r   r    r   r   r   ú<module>rX      s  ðØ 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð €�$ÐÑÔðð ð ð ð �ñ ô ñ Ôððð ð ð ð ˆtñ ô ð ðEð Eð Eð Eð E˜Gð Eñ Eô Eð Eð Eð Er   