+
    דLj                         ^ RI HtHt ^ RIHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ]! RR7       ! R R	]4      4       t ! R
 R]4      t ! R R]R7      tR# )    )ABCMetaabstractmethod)	dataclass)Enum)DictUnion)
ModuleTypeT)frozenc                   ,   a  ] tR t^t o V 3R ltRtV tR# )	GPUTargetc                T   < V ^8  d   Qh/ S[ ;R&   S[S[S[ 3,          ;R&   S[;R&   # )   backendarch	warp_size)strr   int)format__classdict__s   "D/app/.local/lib/python3.14/site-packages/triton/backends/compiler.py__annotate__GPUTarget.__annotate__   s2      L 
 S/  N      N)__name__
__module____qualname____firstlineno____annotate_func____static_attributes____classdictcell__r   s   @r   r   r      s      r   r   c                   "    ] tR t^tRt^ t^tRtR# )Languagez1The input language being compiled by the backend.r   N)r   r   r   r   __doc__TRITONGLUONr    r   r   r   r$   r$      s    ;FEr   r$   c                     a  ] tR t^t o RtV 3R lR lt]]V 3R lR l4       4       t]V 3R lR l4       t	]V 3R lR	 l4       t
]V 3R
 lR l4       t]R 4       t]V 3R lR l4       t]R 4       t]R 4       t]R 4       tRtV tR# )BaseBackendTc                $   < V ^8  d   QhRS[ RR/# )r   targetreturnNr   )r   r   s   "r   r   BaseBackend.__annotate__   s     , ,y ,T ,r   c                D    Wn         V P                  V4      '       g   Q hR # N)r+   supports_target)selfr+   s   &&r   __init__BaseBackend.__init__   s    ##F++++r   c                    < V ^8  d   QhRS[ /# )r   r+   r-   )r   r   s   "r   r   r.       s     " "	 "r   c                    \         hr0   NotImplementedErrorr+   s   &r   r1   BaseBackend.supports_target   
     "!r   c                    < V ^8  d   QhRS[ /# r   r,   )r   )r   r   s   "r   r   r.   $   s     " "c "r   c                    \         h)z,Returns a unique identifier for this backendr7   r2   s   &r   hashBaseBackend.hash#   r;   r   c                &   < V ^8  d   QhRS[ RS[/# )r   optionsr,   dictobject)r   r   s   "r   r   r.   )   s     " "T "f "r   c                    \         h)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
r7   )r2   rC   s   &&r   parse_optionsBaseBackend.parse_options(   s
     "!r   c                *   < V ^8  d   QhRS[ RS[RR/# )r   stagesrC   r,   NrD   )r   r   s   "r   r   r.   1   s"     	" 	" 	" 	"4 	"r   c                    \         h)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.
r7   )r2   rK   rC   s   &&&r   
add_stagesBaseBackend.add_stages0   s
     "!r   c                    \         h)z;
Load additional MLIR dialects into the provided `context`
r7   )r2   contexts   &&r   load_dialectsBaseBackend.load_dialects<   
    
 "!r   c                6   < V ^8  d   QhRS[ S[S[3,          /# r=   )r   r   r	   )r   r   s   "r   r   r.   D   s     " "S*_ 5 "r   c                    \         h)zL
Return a map of interface modules to their device-specific implementations
r7   r?   s   &r   get_module_mapBaseBackend.get_module_mapC   rS   r   c                `    \        V \        4      '       g   Q h. pR V 9   d   VR^..,          pV# )Dztt.divisibility)
isinstancer   )descrets   & r   
parse_attrBaseBackend.parse_attrJ   s9    $$$$$$;&+,,C
r   c                V    V ^,          ^ 8X  d   VP                  RR4      '       d   R# R#    alignFrY    )getargkwargss   &,r   get_int_specialization"BaseBackend.get_int_specializationR   s#    8q=VZZ77r   c                r    V P                  4       ^,          ^ 8X  d   VP                  RR4      '       d   R# R# r`   )data_ptrrd   re   s   &,r   get_tensor_specialization%BaseBackend.get_tensor_specializationX   s+    <<>B!#

7E(B(Br   r9   N)r   r   r   r   %supports_native_tensor_specializationr3   staticmethodr   r1   r@   rH   rM   rQ   rV   r]   rh   rl   r    r!   r"   s   @r   r)   r)      s     ,0), , "  " " " " " 	" 	" " " " "    
  r   r)   )	metaclassN)abcr   r   dataclassesr   enumr   typingr   r   typesr	   rF   r   r$   r)   r   r   r   <module>rv      sN    ' !    $  t EG Er   