
    iF                     \   d dl Z d dlZd dlmZ d dlZdad Zd Zed        Z G d d      Z	 G d	 d
ej                        Z G d d      ZddZedd       Zd Zd Z G d de      Z ee j$                  e   e      e j$                  e<   d dlmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z" y)    N)contextmanagerTc                      da y )NF"__allow_nonbracketed_mutation_flag     Q/var/www/html/engine/venv/lib/python3.12/site-packages/torch/backends/__init__.pydisable_global_flagsr
      s    ).&r   c                      t          S Nr   r   r   r	   flags_frozenr      s    111r   c               #   8   K   t         } da 	 d  | a y # | a w xY ww)NTr   )olds    r	   __allow_nonbracketed_mutationr      s'      -C)-&1-0*S*s   	 c                       e Zd Zd Zd Zd Zy)ContextPropc                      || _         || _        y r   )gettersetter)selfr   r   s      r	   __init__zContextProp.__init__%   s    r   c                 "    | j                         S r   )r   )r   objobjtypes      r	   __get__zContextProp.__get__)   s    {{}r   c                 l    t               s| j                  |       y t        d|j                   d      )Nznot allowed to set zM flags after disable_global_flags; please use flags() context manager instead)r   r   RuntimeError__name__)r   r   vals      r	   __set__zContextProp.__set__,   s7    ~KK%cll^ 4Y Y r   N)r   
__module____qualname__r   r   r    r   r   r	   r   r   $   s    r   r   c                   $     e Zd Z fdZd Z xZS )
PropModulec                 2    t         |   |       || _        y r   )superr   mr   r'   name	__class__s      r	   r   zPropModule.__init__7   s    r   c                 8    | j                   j                  |      S r   )r'   __getattribute__)r   attrs     r	   __getattr__zPropModule.__getattr__;   s    vv&&t,,r   )r   r!   r"   r   r.   __classcell__r*   s   @r	   r$   r$   6   s    -r   r$   c                   *     e Zd Zd Z fdZd Z xZS )_FP32Precisionc                      || _         || _        y r   backendop)r   r5   r6   s      r	   r   z_FP32Precision.__init__@   s    r   c                     |dk(  r6t         j                  j                  | j                  | j                  |       y |dv rt
        |   ||       y t        d|z         )Nfp32_precisionr4   Unknown attribute )torch_C_set_fp32_precision_setterr5   r6   r&   __setattr__AttributeError)r   r)   valuer*   s      r	   r=   z_FP32Precision.__setattr__D   sS    ##HH//dgguM&&Ge, !5!<==r   c                     |dk(  r4t         j                  j                  | j                  | j                        S t        d|z         )Nr8   r9   )r:   r;   _get_fp32_precision_getterr5   r6   r>   )r   r)   s     r	   r.   z_FP32Precision.__getattr__L   s;    ##8866t||TWWMM !5!<==r   )r   r!   r"   r   r=   r.   r/   r0   s   @r	   r2   r2   ?   s    >>r   r2   c                     t         j                  j                  dd      f}| !t         j                  j                  dd|        |S )Ngenericall)r:   r;   rA   r<   )_fp32_precision
orig_flagss     r	   	set_flagsrG   S   s=    ((55iGIJ"++IuoNr   c              #     K   t               5  t        |       }d d d        	 d  t               5  t          d d d        y # 1 sw Y   *xY w# 1 sw Y   y xY w# t               5  t          d d d        w # 1 sw Y   w xY wxY wwr   )r   rG   )r8   rF   s     r	   flagsrI   Z   s}     	&	( /~.
/#*, 	#z"	# 	#/ /
	# 	#*, 	#z"	# 	# 	#s_   BABA 
B	A	BABABB%	A7.	B7B <BBc                       fd}|S )Nc                  D    t         j                  j                         S r   )r:   r;   rA   r4   s   r	   innerz)_get_fp32_precision_getter.<locals>.innerf   s    xx227B??r   r   r5   r6   rL   s   `` r	   rA   rA   e   s    @ Lr   c                       fd}|S )Nc                 F    t         j                  j                  |       S r   )r:   r;   r<   )	precisionr5   r6   s    r	   rL   z)_set_fp32_precision_setter.<locals>.innerm   s    xx227B	JJr   r   rM   s   `` r	   r<   r<   l   s    K Lr   c                   L     e Zd Z fdZ e edd       edd            Z xZS )GenericModulec                 &    t         |   ||       y r   )r&   r   r(   s      r	   r   zGenericModule.__init__t   s    D!r   rC   rD   )	r   r!   r"   r   r   rA   r<   r8   r/   r0   s   @r	   rR   rR   s   s(    " !"9e4"9e4Nr   rR   )cpucudacudnn
cusparseltkleidiaimhamiopenmklmkldnnmpsnnpackopenmp
opt_einsum	quantized)none)#systypes
contextlibr   r:   r   r
   r   r   r   
ModuleTyper$   r2   rG   rI   rA   r<   rR   modulesr   torch.backendsrT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   r   r   r	   <module>ri      s    
  %  &* "/
2 1 1 $-!! -> >( # #J  &ckk(&;XFH     r   