
    Xh                     p   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`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZr ddlmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZ ddlmZmZmZmZmZmZmZmZmZmZ g dZd	 Zd
S )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)X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
async_task
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const	constexprconstexpr_function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max_constancymax_contiguousmaximumminimummultiple_ofnum_programspermutepi32_tpointer_type
program_idrangereducereshapeslicesplitstatic_assertstatic_printstatic_rangestore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)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   r4   r   r   r5   r6   r7   r8   rx   r	   r
   r9   r:   r;   r   r<   r=   r>   r   rs   rt   r?   r   r~   r   r@   rA   rB   rC   rD   rE   rF   rG   r   ru   rH   rI   rJ   rK   r   rL   rM   rN   rO   rP   rQ   rR   rv   rw   rS   r   r   rT   rU   rV   r   rW   rX   rY   r   rZ   r   r   r[   r\   r]   r   r   r   r   r   r   r^   r   r_   r   r`   ry   ra   r   rz   r   r   rb   r{   r|   rc   rd   re   rf   r   r   rg   r   rh   ri   rk   rl   rm   rn   r   rr   ro   rp   rq   r   r   r   c                    ddl m} t          | |          rBt          |           j                            dd           }t          d | D             |          S | d         dk    rD| dd          } d}| d         dk    r| dd          } d	}t          |           }t          ||
          S | 	                    d          rs| 
                    d          d                             d          }|
                    dd          \  }}|
                    dd          \  }}d |                    d          
                    d          D             }|                    d          }	t          |	          }
t          |          }t          |          }t          t          g|z            }t          t          g|z            }t!          ||          }|
rJddlm} ddlm} t+          |	t-          |                    }	t          |	|          sJ  |||||	          S t)          |||          S | dk    rt.          S i dt0          dt2          dt4          dt6          dt8          dt:          dt<          dt>          dt@          d tB          d!tD          d"tF          d#t          d$t          d%tB          d&tH          d'tJ          tL          tN          tB          d(}||          S ))N    )ri   _fieldsc                 ,    g | ]}t          |          S  )	str_to_ty).0xs     j/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/triton/language/__init__.py
<listcomp>zstr_to_ty.<locals>.<listcomp>  s    666A9Q<<666    *r   FkT)
element_tyr6   
tensordesc<>[   )maxsplit]c                 P    g | ]#}t          |                                          $S r   )intstrip)r   ss     r   r   zstr_to_ty.<locals>.<listcomp>&  s&    RRR!s17799~~RRRr   ,)NVMMASharedLayout)r    r7   fp8e4nvfp8e4b8fp8e5fp8e5b16fp8e4b15fp16bf16fp32fp64i1i8i16i32i64u1u8u16)u32u64B)(builtinsri   
isinstancetype__dict__getrj   r   r\   
startswithrb   rstriplstriplenrN   rO   r0   +triton.experimental.gluon.language._layoutsr   4triton.experimental.gluon.language.nvidia.hopper.tmar    evaldictr7   rD   rE   rF   rG   rC   r@   r/   rA   rB   rL   rP   rM   rn   rk   rl   rm   )nameri   fieldsr6   tyinnerr>   restblock_shapelayoutis_gluonndim
shape_typestride_typeblockr   gluon_tensor_descriptor_typetyss                     r   r   r     se   $ @d$((D9966666???Aw#~~ABBx7c>>8DEt__r7777|$$ F

3"))#..kk#k22t JJsQJ77TRR{/A/A#/F/F/L/LS/Q/QRRRS!!v;;%  ;$//
 5'D.225+.. 	XUUUUUU D  D  D  D  D  D&$9J"K"K"KLLFf&788888//z;PVWWW%eZEEE{:: 	 	K	
 	K 	 	 	 	 	d 	d 	u 	u 	u 	d  	e!" 	v#$ )  C, t9r   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   randomr   r   r   r   r   r   r   r   r   r   __all__r   r   r   r   <module>r      s                                                             .Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Yt                                                            I I IX> > > > >r   