Ë
    -¼ˆ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                 ój  — 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kD  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 alignedzshape must be positiveé   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ÚstrideÚ	shape_dims         úq/home/obispo/Crisostomo_bridge/mision_env/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àŸ™ò 	;ˆIØ˜q“=Ð:Ð":Ó:=ð	;à|‰|˜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
   r2   r'   r%   ú<module>r8      s5   ðÝ !ß ß ZÑ ZÝ IàÐ
€ð ÷%
ð %
ó ñ%
r'   