Ë
    ciº  ã                   óJ   — d dl mZ d dlmZmZ d dlmZ e G d„ d«      «       Zy)é    )Ú	dataclass)ÚListÚAny)Úvalidate_block_shapec                   ó~   — e Zd ZU eed<   ee   ed<   ee   ed<   ee   ed<   dZeed<   d„ Z	e
ddedee   fd	„«       Zy
)ÚTensorDescriptorÚbaseÚshapeÚstridesÚblock_shapeÚzeroÚpaddingc                 ó  — t        | j                  «      }t        | j                  «      |k(  s
J d| › «       ‚t        | j                  «      |k(  s
J d| › «       ‚|dkD  sJ d«       ‚|dk  sJ d«       ‚t	        | j
                  «      }|j                  dvr'| j
                  j                  «       dz  dk(  sJ d«       ‚t        | j                  «       | j
                  j                  j                  }| j                  d d	 D ]  }||z  dz  dk(  rŒJ d
«       ‚ | j                  d	   dk(  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)Ú
FakeTensorÚFunctionalTensoré   zbase must be 16-byte alignedéÿÿÿÿzstrides must be 16-byte alignedé   z!Last dimension must be contiguousr   ÚnanzIllegal value for paddingzAPadding option `nan` is only supported for floating point tensors)Úlenr
   r   r   Útyper	   Ú__name__Údata_ptrr   ÚdtypeÚitemsizer   Úis_floating_point)ÚselfÚrankÚtyÚ
elem_bytesÚstrides        úX/var/www/html/engine/venv/lib/python3.12/site-packages/triton/tools/tensor_descriptor.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Ü$—)‘)‹_ˆØ;‰;Ð@Ñ@Ø—9‘9×%Ñ%Ó'¨"Ñ,°Ò1ÐQÐ3QÓQÐ1Ü˜T×-Ñ-Ô.Ø—Y‘Y—_‘_×-Ñ-ˆ
Ø—l‘l 3 BÐ'ò 	VˆFØ˜ZÑ'¨2Ñ-°Ó2ÐUÐ4UÓUÐ2ð	Và|‰|˜BÑ 1Ò$ÐIÐ&IÓIÐ$Ø|‰|˜vÒ%¨¯©¸Ò)>Ð[Ð@[Ó[Ð>Ø<‰<˜5Ò Ø—9‘9—?‘?×4Ò4ÐyÐ6yÓyÑ4ð !ó    Útensorc                 óP   — t        | | j                  | j                  «       ||«      S )N)r   r
   r"   )r&   r   r   s      r#   Úfrom_tensorzTensorDescriptor.from_tensor    s    € ä ¨¯©°f·m±m³oÀ{ÐT[Ó\Ð\r%   N)r   )r   Ú
__module__Ú__qualname__r   Ú__annotations__r   Úintr   Ústrr$   Ústaticmethodr(   © r%   r#   r   r      s_   … à
ƒIØ‰9ÓØ#‰YÓØc‘ÓØ€GˆSÓòzð$ ñ]˜Cð ]¨d°3©iò ]ó ñ]r%   r   N)Údataclassesr   Útypingr   r   Útriton._utilsr   r   r/   r%   r#   ú<module>r3      s*   ðÝ !ß Ý .ð ÷]ð ]ó ñ]r%   