o
    Zh                     @   s   d dl Z d dlZd dlmZ d dlmZ d dlZe Zde	fddZ
e jdeeddf fddZd	ejjddfd
dZd	ejjde	fddZdejddfddZdejde	fddZdS )    N)	Generator)Anyreturnc                   C   s   t tddS )Nfreezing_activeF)getattr_TLS r   r   M/var/www/auris/lib/python3.10/site-packages/torch/_inductor/freezing_utils.py_freezing_active   s   r
   c                  c   s*    t  } dt_z	dV  W | t_dS | t_w )z?
    Context manager to designate when freezing is active.
    TN)r
   r   r   )prevr   r   r	   enter_freezing   s   r   gmc                 C   s
   d| _ dS )z.
    Mark the gm as having frozen params.
    TN)_has_frozen_paramsr   r   r   r	   record_has_frozen_params   s   
r   c                 C      t | ddS )z6
    Return True if the gm has frozen parameters.
    r   Fr   r   r   r   r	   has_frozen_params$      r   tc                 C   s   t  rd| _dS dS )zK
    Mark the provided tensor as a frozen param if freezing is active.
    TN)r
   _is_frozen_paramr   r   r   r	   maybe_set_is_frozen_param+   s   
r   c                 C   r   )z6
    Return True if the tensor is a frozen param.
    r   Fr   r   r   r   r	   is_frozen_param3   r   r   )
contextlib	threadingcollections.abcr   typingr   Ztorchlocalr   boolr
   contextmanagerr   ZfxZGraphModuler   r   ZTensorr   r   r   r   r   r	   <module>   s    