
    9i                     p   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" dS )    N)contextmanagerTc                  
    da d S )NF"__allow_nonbracketed_mutation_flag     J/var/www/icac/venv/lib/python3.11/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 V  | a d S # | a w xY w)NTr   )olds    r	   __allow_nonbracketed_mutationr      s?       -C)-&1-0***S*0000s    c                        e Zd Zd Zd Zd ZdS )ContextPropc                 "    || _         || _        d S r   )gettersetter)selfr   r   s      r	   __init__zContextProp.__init__%   s    r   c                 *    |                                  S r   )r   )r   objobjtypes      r	   __get__zContextProp.__get__)   s    {{}}r   c                 |    t                      s|                     |           d S 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__,   sT    ~~ 	KKYcl Y Y Y  r   N)r   
__module____qualname__r   r   r    r   r   r	   r   r   $   sA                r   r   c                   $     e Zd Z fdZd Z xZS )
PropModulec                 X    t                                          |           || _        d S r   )superr   m)r   r'   name	__class__s      r	   r   zPropModule.__init__7   s&    r   c                 6    | j                             |          S r   )r'   __getattribute__)r   attrs     r	   __getattr__zPropModule.__getattr__;   s    v&&t,,,r   )r   r!   r"   r   r-   __classcell__r)   s   @r	   r$   r$   6   sG            - - - - - - -r   r$   c                   *     e Zd Zd Z fdZd Z xZS )_FP32Precisionc                 "    || _         || _        d S r   backendop)r   r4   r5   s      r	   r   z_FP32Precision.__init__@   s    r   c                     |dk    r-t           j                            | j        | j        |           d S |dv r$t                                          ||           d S t          d|z             )Nfp32_precisionr3   Unknown attribute )torch_C_set_fp32_precision_setterr4   r5   r&   __setattr__AttributeError)r   r(   valuer)   s      r	   r<   z_FP32Precision.__setattr__D   ss    ###H//dguMMMMM&&&GGe,,,,, !5!<===r   c                     |dk    r*t           j                            | j        | j                  S t          d|z             )Nr7   r8   )r9   r:   _get_fp32_precision_getterr4   r5   r=   )r   r(   s     r	   r-   z_FP32Precision.__getattr__L   s>    ###866t|TWMMM !5!<===r   )r   r!   r"   r   r<   r-   r.   r/   s   @r	   r1   r1   ?   sV          > > > > >> > > > > > >r   r1   nonec                     t           j                            dd          f}| !t           j                            dd|            |S )Ngenericall)r9   r:   r@   r;   )_fp32_precision
orig_flagss     r	   	set_flagsrG   S   sB    (55iGGIJ"++IuoNNNr   c              #   F  K   t                      5  t          |           }d d d            n# 1 swxY w Y   	 d V  t                      5  t          |  d d d            d S # 1 swxY w Y   d S # t                      5  t          |  d d d            w # 1 swxY w Y   w xY wr   )r   rG   )r7   rF   s     r	   flagsrI   Z   sr     	&	(	( / /~..
/ / / / / / / / / / / / / / /#*,, 	# 	#z""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#*,, 	# 	#z""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#sM   -11A/ 
A""A&)A&/B >
BB BB BB c                       fd}|S )Nc                  D    t           j                                       S r   )r9   r:   r@   r3   s   r	   innerz)_get_fp32_precision_getter.<locals>.innerf   s    x227B???r   r   r4   r5   rL   s   `` r	   r@   r@   e   s/    @ @ @ @ @ @ Lr   c                       fd}|S )Nc                 F    t           j                            |           S r   )r9   r:   r;   )	precisionr4   r5   s    r	   rL   z)_set_fp32_precision_setter.<locals>.innerm   s    x227B	JJJr   r   rM   s   `` r	   r;   r;   l   s/    K K K K K K Lr   c                   N    e Zd Z e edd           edd                    ZdS )GenericModulerC   rD   N)r   r!   r"   r   r@   r;   r7   r   r   r	   rR   rR   s   s?         [""9e44""9e44 NNNr   rR   )cpucudacudnn
cusparseltkleidiaimhamiopenmklmkldnnmpsnnpackopenmp
opt_einsum	quantized)rA   )#systypes
contextlibr   r9   r   r
   r   r   r   
ModuleTyper$   r1   rG   rI   r@   r;   rR   modulesr   torch.backendsrS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   r   r   r	   <module>rg      s7   



  % % % % % %  &* "/ / /
2 2 2 1 1 1       $- - - - -! - - -> > > > > > > >(    # # # #        J    &ck(&;XFFH                                  r   