U
    ©Ê¹j   ã                   @   sR   d dl Z d dlmZ d dlZd dlmZ d dlmZ dae j	dd„ ƒZ
dd„ ZdS )	é    N)ÚSequence)Ú	custom_op)ÚContentStoreReaderc                 c   s.   t d kst‚t| dd�a z
d V  W 5 d a X d S )NF)Úcache)ÚLOAD_TENSOR_READERÚAssertionErrorr   )Úloc© r	   úW/var/www/html/bwave/python/venv/lib/python3.8/site-packages/torch/_prims/debug_prims.pyÚload_tensor_reader   s
    
r   c                  C   sB   t dƒttt tt tjtjtjdœdd„ƒ} |  ¡ dd„ ƒ}d S )Nzdebugprims::load_tensor)ÚnameÚsizeÚstrideÚdtypeÚdeviceÚreturnc                S   s   d S )Nr	   )r   r   r   r   r   r	   r	   r
   Úload_tensor   s    	z)register_debug_prims.<locals>.load_tensorc                 S   sÄ   t d kr"ddlm} |||||ƒS ddlm} t j| |d�}t| ¡ ƒ|ksbt| ¡ › d|› �ƒ‚t| 	¡ ƒ|ksˆt| 	¡ › d|› �ƒ‚|j
|ks¦t|j
› d|› �ƒ‚|j|kr¼|||d�}|S d S )Nr   )Úrand_strided)Úclone_input)r   z != )r   )r   Ztorch._dynamo.testingr   Ztorch._dynamo.utilsr   Zread_tensorÚlistr   r   r   r   r   )r   r   r   r   r   r   r   Úrr	   r	   r
   Úload_tensor_factory(   s    &&
z1register_debug_prims.<locals>.load_tensor_factory)	r   Ústrr   ÚintÚtorchr   r   ZTensorZimpl_factory)r   r   r	   r	   r
   Úregister_debug_prims   s    ù
r   )Ú
contextlibÚtypingr   r   Ztorch._custom_op.implr   Ztorch.utils._content_storer   r   Úcontextmanagerr   r   r	   r	   r	   r
   Ú<module>   s   
