Ë
    ci%  ã                   ód   — d dl mZ d dlmZmZ d dlmZmZmZ d dl	m
Z
 dgZe G d„ d«      «       Zy)é    )Ú	dataclass)ÚListÚAny)Úvalidate_block_shapeÚcanonicalize_dtypeÚget_primitive_bitwidth)ÚNVMMASharedLayoutÚTensorDescriptorc                   óŒ   — e Zd ZU eed<   ee   ed<   ee   ed<   ee   ed<   eed<   dZe	ed<   d„ Z
edd	edee   defd
„«       Zy)r
   ÚbaseÚshapeÚstridesÚblock_shapeÚlayoutÚzeroÚpaddingc                 ó0  — t        | j                  «      }t        | j                  «      |k(  s
J d| › «       ‚t        | j                  «      |k(  s
J d| › «       ‚|dkD  sJ d«       ‚|dk  sJ d«       ‚| j                  j                  «       dz  dk(  sJ d«       ‚t        | j                  «       t        | j                  j                  «      }t        |«      dz  }| j                  d d	 D ]  }||z  dz  dk(  rŒJ d
«       ‚ | j                  d	   dk(  sJ d«       ‚t        | j                  t        «      sJ d«       ‚| j                  dk(  s| j                  dk(  sJ d«       ‚| j                  dk(  r(| j                  j                  j                  sJ d«       ‚y y )Nzrank mismatch: r   zrank must not be zeroé   zrank cannot be more than 5é   zbase must be 16-byte alignedé   éÿÿÿÿzstrides must be 16-byte alignedé   z!Last dimension must be contiguousz Layout must be NVMMASharedLayoutr   ÚnanzIllegal value for paddingzAPadding option `nan` is only supported for floating point tensors)Úlenr   r   r   r   Údata_ptrr   r   Údtyper   Ú
isinstancer   r	   r   Úis_floating_point)ÚselfÚrankÚ	dtype_strÚ
elem_bytesÚstrides        úa/var/www/html/engine/venv/lib/python3.12/site-packages/triton/experimental/gluon/nvidia/hopper.pyÚ__post_init__zTensorDescriptor.__post_init__   s“  € Ü4—:‘:‹ˆÜ4—<‘<Ó  DÒ(ÐB¨O¸D¸6Ð*BÓBÐ(Ü4×#Ñ#Ó$¨Ò,ÐF°À¸vÐ.FÓFÐ,ØaŠxÐ0Ð0Ó0ˆxØqŠyÐ6Ð6Ó6ˆyØy‰y×!Ñ!Ó# bÑ(¨AÒ-ÐMÐ/MÓMÐ-Ü˜T×-Ñ-Ô.Ü& t§y¡y§¡Ó7ˆ	Ü+¨IÓ6¸!Ñ;ˆ
Ø—l‘l 3 BÐ'ò 	VˆFØ˜ZÑ'¨2Ñ-°Ó2ÐUÐ4UÓUÐ2ð	Và|‰|˜BÑ 1Ò$ÐIÐ&IÓIÐ$Ü˜$Ÿ+™+Ô'8Ô9Ð]Ð;]Ó]Ð9Ø|‰|˜vÒ%¨¯©¸Ò)>Ð[Ð@[Ó[Ð>Ø<‰<˜5Ò Ø—9‘9—?‘?×4Ò4ÐyÐ6yÓyÑ4ð !ó    Útensorc                 óR   — t        | | j                  | j                  «       |||«      S )N)r
   r   r#   )r'   r   r   r   s       r$   Úfrom_tensorzTensorDescriptor.from_tensor$   s+   € äØØL‰LØM‰M‹OØØØó
ð 	
r&   N)r   )Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__r   Úintr	   r   Ústrr%   Ústaticmethodr)   © r&   r$   r
   r
   	   si   … à
ƒIØ‰9ÓØ#‰YÓØc‘ÓØÓØ€GˆSÓòzð$ ñ
˜Cð 
¨d°3©ið 
ÐARò 
ó ñ
r&   N)Údataclassesr   Útypingr   r   Útriton._utilsr   r   r   Ú+triton.experimental.gluon.language._layoutsr	   Ú__all__r
   r1   r&   r$   ú<module>r7      s5   ðÝ !ß ß ZÑ ZÝ IàÐ
€ð ÷#
ð #
ó ñ#
r&   