a
    ha                     @   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 nd a 0 d S )NF)cache)r   r   )loc r   F/var/www/auris/lib/python3.9/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sbJ |  d| t| |ksJ |  d| |j	|ksJ |j	 d| |j
|kr|||d}|S 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)torch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   

