
    h	                     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                   n    e Zd ZU eed<   ee   ed<   ee   ed<   ee   ed<   d Zededee   fd       Z	y)	TensorDescriptorbaseshapestridesblock_shapec                    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|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       y )Nzrank mismatch: r   zrank must not be zero   zrank cannot be more than 5.)ztorch.FakeTensorztorch.FunctionalTensor   zbase must be 16-byte alignedzstrides must be 16-byte aligned   z!Last dimension must be contiguous)lenr
   r   r   typer	   
__module____name__data_ptrr   dtypeitemsize)selfrankty	type_name
elem_bytesstrides         \/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/triton/tools/tensor_descriptor.py__post_init__zTensorDescriptor.__post_init__   sG   4::4<< D(BOD6*BB(4##$,Fv.FF,ax000xqy666y$))_}}oQr{{m4	JJ99%%'",1Q3QQ1T--.YY__--
ll3B' 	VFZ'2-2U4UU2	V||B1$I&II$    tensorc                 N    t        | | j                  | j                         |      S )N)r   r
   r   )r#   r   s     r    from_tensorzTensorDescriptor.from_tensor   s%    LLMMO	
 	
r"   N)
r   r   __qualname__r   __annotations__r   intr!   staticmethodr%    r"   r    r   r      sQ    
I9#YcJ  
C 
d3i 
 
r"   r   N)dataclassesr   typingr   r   triton._utilsr   r   r*   r"   r    <module>r.      s'    !  . 
 
 
r"   