o
    Zha                     @   sT   U d dl Z d dlmZ d dlZd dlmZ daee ed< e jdd Z	dd Z
dS )	    N)Optional)ContentStoreReaderLOAD_TENSOR_READERc                 c   s2    t d u sJ t| dda zd V  W d a d S d a w )NF)cache)r   r   )loc r   G/var/www/auris/lib/python3.10/site-packages/torch/_prims/debug_prims.pyload_tensor_reader   s   r	   c                  C   s(   t jdd t jdddd } d S )Nzdebugprims::load_tensorzR(str name, int[] size, int[] stride, *, ScalarType dtype, Device device) -> TensorZBackendSelectc                 S   s   t d u rddlm} |||||S ddlm} t j| |d}t| |ks1J |  d| t| |ksDJ |  d| |j	|ksSJ |j	 d| |j
|kr^|||d}|S )Nr   )rand_strided)clone_input)devicez != )dtype)r   Ztorch._dynamo.testingr
   Ztorch._dynamo.utilsr   Zread_tensorlistsizestrider   r   )namer   r   r   r   r
   r   rr   r   r   load_tensor_factory#   s   &&
z1register_debug_prims.<locals>.load_tensor_factory)torchZlibraryZdefineimpl)r   r   r   r   register_debug_prims   s   r   )
contextlibtypingr   r   Ztorch.utils._content_storer   r   __annotations__contextmanagerr	   r   r   r   r   r   <module>   s   

