
    Vh                     P   d dl Z d dlZd dlmZ d dlmZ d dlZ ej                         Zde	fdZ
e j                  deeddf   fd       Zdej                  j                  ddfdZdej                  j                  de	fd	Zd
ej"                  ddfdZd
ej"                  de	fdZy)    N)	Generator)Anyreturnc                  $    t        t        dd      S )Nfreezing_activeF)getattr_TLS     N/home/dcms/DCMS/lib/python3.12/site-packages/torch/_inductor/freezing_utils.py_freezing_activer      s    4*E22r   c               #   v   K   t               } dt        _        	 d | t        _        y# | t        _        w xY ww)z?
    Context manager to designate when freezing is active.
    TN)r   r	   r   )prevs    r   enter_freezingr      s0     
 DD$#ts   9) 969gmc                     d| _         y)z.
    Mark the gm as having frozen params.
    TN)_has_frozen_paramsr   s    r   record_has_frozen_paramsr      s     !Br   c                     t        | dd      S )z6
    Return True if the gm has frozen parameters.
    r   Fr   r   s    r   has_frozen_paramsr   $   s     2+U33r   tc                 (    t               rd| _        yy)zK
    Mark the provided tensor as a frozen param if freezing is active.
    TN)r   _is_frozen_paramr   s    r   maybe_set_is_frozen_paramr   +   s     ! r   c                     t        | dd      S )z6
    Return True if the tensor is a frozen param.
    r   Fr   r   s    r   is_frozen_paramr   3   s     1(%00r   )
contextlib	threadingcollections.abcr   typingr   torchlocalr	   boolr   contextmanagerr   fxGraphModuler   r   Tensorr   r   r
   r   r   <module>r+      s      %   y3$ 3 	$	#tT/2 	$ 	$!!5!5 !$ !4%((.. 44 4" "$ "1u|| 1 1r   