
    Pi                        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`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZt ddlmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZ ddlmZmZmZmZmZmZmZmZmZmZ ddlmZ 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)Z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	conditionconst	constexprconstexpr_type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map_elementwise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)target_info)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   r9   rz   r	   r
   r:   r;   r<   r   r=   r>   r?   r   ru   rv   r@   r   r   r   rA   rB   rC   rD   rE   rF   rG   rH   r   rw   rI   rJ   rK   rL   r   rM   rN   rO   rP   rQ   rR   rS   rx   ry   rT   rU   r   r   rV   rW   rX   r   rY   rZ   r[   r   r\   r   r   r]   r^   r_   r   r   r   r   r   r   r`   r   ra   r   rb   r{   rc   r   r|   r   r   rd   r}   r~   re   rf   rg   rh   r   r   r   ri   r   rj   rk   rm   rn   ro   rp   r   rt   rq   rr   rs   r   r   r   c                    ddl m} t          | |          rDt          |           j                            dd           }t          fd| D             |          S | d         dk    rE| dd          } d}| d         dk    r| dd          } d	}t          |           }t          ||
          S | 	                    d          rt| 
                    d          d                             d          }|
                    dd          \  }}|
                    dd          \  }	}d |	                    d          
                    d          D             }	|                    d          }
t          |
          }t          |d           }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          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    )rk   _fieldsc                 0    g | ]}t          |          S  )	str_to_ty).0xcs     p/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/triton/language/__init__.py
<listcomp>zstr_to_ty.<locals>.<listcomp>  s!    999q9Q??999    *r   FkT)
element_tyr7   
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    r8   fp8e4nvfp8e4b8fp8e5fp8e5b16fp8e4b15fp16bf16fp32fp64i1i8i16i32i64u1u8u16)u32u64B)(builtinsrk   
isinstancetype__dict__getrl   r   r^   
startswithrd   rstriplstriplenrO   rP   r0   +triton.experimental.gluon.language._layoutsr   4triton.experimental.gluon.language.nvidia.hopper.tmar    evaldictr9   rE   rF   rG   rH   rD   rA   r/   rB   rC   rM   rQ   rN   rp   rm   rn   ro   )namer   rk   fieldsr7   tyinnerr?   restblock_shapelayoutis_gluonndim
shape_typestride_typeblockr   gluon_tensor_descriptor_typetyss    `                 r   r   r     s   $ Cd$((D999999D9996BBBAw#~~ABBx7c>>8DEtQ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{## !a   :: 	 	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   r   r   randomr   r   r   r   r   r   r   r   r   r   r   __all__r   r   r   r   <module>r      s                                                             .[ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [x                                                                  L L L^> > > > >r   