
    `il!                    j   d dl mZ d dlZd dlZd dlZd dlZd dlmZmZm	Z	m
Z
 d dlmZmZ d dlmZ d dlmZ d dlmZ e
rd dlmZ ej         G d	 d
                      Z G d de          Z G d dej                  Z e            Z G d dee                   ZdZ G d dej                  ZdS )    )annotationsN)AnyCallableOptionalTYPE_CHECKING)overrideSelf)patch)config)RemoteCacheBackend)TracebackTypec                  Z    e Zd ZU dZded<   dZded<   dZded<   dd	ZddZddZ	ddZ
dS )Statsr   intnum_putnum_get_hitnum_get_missotherreturnr	   c                    | xj         |j         z  c_         | xj        |j        z  c_        | xj        |j        z  c_        | S Nr   r   r   selfr   s     n/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/torch/_inductor/mock_cache.py__iadd__zStats.__iadd__   sG    %E--U//    Nonec                0    d| _         d| _        d| _        d S )Nr   r   r   s    r   resetzStats.reset!   s    r   strc                h    d                     d| j         dd| j         dd| j         df          S )N zputs: z, zmisses: zhits: )joinr   r   r   r    s    r   __str__zStats.__str__&   sO    ww))))04,000-)---
 
 	
r   objectboolc                    t          |t          t          f          o/| j        |j        k    o| j        |j        k    o| j        |j        k    S r   )
isinstancer   _GlobalItemStatsr   r   r   r   s     r   __eq__zStats.__eq__/   sU     uu&6788 8-8 E$558 !U%77		
r   N)r   r   r   r	   r   r   )r   r"   )r   r'   r   r(   )__name__
__module____qualname__r   __annotations__r   r   r   r!   r&   r,    r   r   r   r      s         GKL      

 
 
 

 
 
 
 
 
r   r   c                  8     e Zd ZU ded<   d fdZd fdZ xZS )r+   zdict[str, object]cacher   r   c                V    t                                                       i | _        d S r   )super__init__r4   r   	__class__s    r   r7   z_GlobalItemStats.__init__=   s$    


r   c                V    t                                                       i | _        d S r   )r6   r!   r4   r8   s    r   r!   z_GlobalItemStats.resetA   s    


r   r-   )r.   r/   r0   r1   r7   r!   __classcell__)r9   s   @r   r+   r+   :   si                       r   r+   c                  ,    e Zd ZddZddZddZd	 Zd
S )_GlobalStatsr   r   c                   t                      | _        t                      | _        t                      | _        t                      | _        t                      | _        t                      | _        t                      | _        d S r   )r+   autotune_localautotune_remotebundled_autotunefx_graphtritonaot_autograd
dynamo_pgor    s    r   r7   z_GlobalStats.__init__M   se    .00/11 0 2 2(**&((,..*,,r   c                d   | j                                          | j                                         | j                                         | j                                         | j                                         | j                                         | j                                         d S r   )r?   r!   r@   rA   rB   rC   rD   rE   r    s    r   r!   z_GlobalStats.resetV   s    !!###""$$$##%%%!!!r   namer"   r+   c                "    t          | |          S r   )getattrr   rG   s     r   get_statz_GlobalStats.get_stat_   s    tT"""r   c                   d| j         fd| j        fd| j        fd| j        fd| j        fd| j        fd| j        ff}t          dt          j	        	           |D ]&\  }}t          d
| d| t          j	        	           't          dt          j	        	           |D ]\  }}|j
        rt          d
| dt          j	        	           t          |j
                                                  D ]U\  }}t          |          }t          |          dk    r|d d         dz   }t          d|d| t          j	        	           Vd S )Nr?   r@   rA   rB   rC   rD   rE   zCache Stats:)filez  z: zCache Entries::d   z...z    )r?   r@   rA   rB   rC   rD   rE   printsysstderrr4   sorteditemsreprlen)r   subsrG   subkvs         r   reportz_GlobalStats.reportb   s|   t23 45!67't{#T./4?+
 	n3:.... 	7 	7ID#$t$$s$$3:66666SZ0000 	> 	>ID#y >l4lll4444"39??#4#455 > >DAqQA1vv||dsdGeO+++++#*=====	> 	>r   Nr-   )rG   r"   r   r+   )r.   r/   r0   r7   r!   rK   r[   r2   r   r   r=   r=   L   s_        - - - -       # # # #> > > > >r   r=   c                  ^    e Zd ZddZedd            Zedd
            Zedd            ZdS )MockBackendrG   r"   r   r   c                    || _         d S r   )_namerJ   s     r   r7   zMockBackend.__init__   s    


r   Callable[[], MockBackend]c                     d fd}|S )Nr   r]   c                 "    t                     S r   )r]   )rG   s   r   wrapperz&MockBackend.with_name.<locals>.wrapper   s    t$$$r   )r   r]   r2   )rG   rc   s   ` r   	with_namezMockBackend.with_name   s(    	% 	% 	% 	% 	% 	% r   keyOptional[Any]c                    t                               | j                  }||j        v r-|t	          d          z  }|j                            |          S |t	          d          z  }d S )N   )r   )r   )global_statsrK   r_   r4   r   get)r   re   stats      r   _getzMockBackend._get   sg    $$TZ00$*Ea((((D:>>#&&&Eq))))D4r   datar   c                ~    t                               | j                  }|t          d          z  }||j        |<   d S )Nrh   )r   )ri   rK   r_   r   r4   )r   re   rm   rk   s       r   _putzMockBackend._put   s;    $$TZ00a    
3r   N)rG   r"   r   r   )rG   r"   r   r`   )re   r"   r   rf   )re   r"   rm   r   r   r   )	r.   r/   r0   r7   staticmethodrd   r   rl   ro   r2   r   r   r]   r]      s               \    X    X  r   r]   )fx_graph_cachefx_graph_remote_cacheautotune_local_cacheautotune_remote_cachebundled_autotune_remote_cachec                  R    e Zd Zed             Zed             ZddZddZddZdS )PatchCachesc                    i | _         t          D ]J}t          t          |          rt	          t          |          | j         |<   t          t          |d           Kd S )NF)_savedCacheState_CACHE_CONFIG_ENhasattrr   rI   setattrclsrG   s     r   setUpzPatchCaches.setUp   sd    
  "$ 	) 	)Dvt$$ C-4VT-B-B$T*FD%((((	) 	)r   c                    t           D ]A}t          t          |           || j        v r!t	          t          || j        |                    Bd S r   )rz   delattrr   ry   r|   r}   s     r   tearDownzPatchCaches.tearDown   sZ     % 	B 	BDFD!!!s+++c&:4&@AAA	B 	Br   r   r   c                6    t          j                    | _        d S r   )
contextlib	ExitStack_stackr    s    r   r7   zPatchCaches.__init__   s     *,,r   r	   c                   t                                            | j                                         t	          dt
                              d                    }| j                            |           t	          dt
                              d                    }| j                            |           t	          dt
                              d                    }| j                            |           t	          dt
                              d                    }| j                            |           t	          d	t
                              d
                    }| j                            |           t	          dt
                              d                    }| j                            |           t          j	                    rt	          dt
                              d                    }| j                            |           t	          dt
                              d                    }| j                            |           t	          dt
                              d                    }| j                            |           t	          dt
                              d                    }| j                            |           t	          dt
                              d
                    }| j                            |           t	          dt
                              d                    }| j                            |           | S )NzNtorch._inductor.runtime.autotune_cache.LocalAutotuneCache.backend_override_clsr?   zEtorch._inductor.remote_cache.RemoteAutotuneCache.backend_override_clsr@   zLtorch._inductor.remote_cache.RemoteBundledAutotuneCache.backend_override_clsrA   zDtorch._inductor.remote_cache.RemoteFxGraphCache.backend_override_clsrB   zHtorch._inductor.remote_cache.RemoteAOTAutogradCache.backend_override_clsrD   zFtorch._inductor.remote_cache.RemoteDynamoPGOCache.backend_override_clsrE   zJtorch._inductor.fb.remote_cache.FbRemoteAutotuneCache.backend_override_clszQtorch._inductor.fb.remote_cache.FbRemoteBundledAutotuneCache.backend_override_clszItorch._inductor.fb.remote_cache.FbRemoteFxGraphCache.backend_override_clszFtriton.fb.fb_memcache.FbMemcacheRemoteKernelCache.backend_override_clsrC   zMtorch._inductor.fb.remote_cache.FbRemoteAOTAutogradCache.backend_override_clszKtorch._inductor.fb.remote_cache.FbRemoteDynamoPGOCache.backend_override_cls)
ri   r!   r   	__enter__r
   r]   rd   enter_contextr   	is_fbcode)r   ctxs     r   r   zPatchCaches.__enter__   s   \!!"233
 
 	!!#&&&S!!"344
 
 	!!#&&&Z!!"455
 
 	!!#&&&R!!*--
 
 	!!#&&&V!!.11
 
 	!!#&&&T!!,//
 
 	!!#&&& #	+\%%&788 C K%%c***c%%&899 C K%%c***[%%j11 C K%%c***X%%h// C K%%c***_%%n55 C K%%c***]%%l33 C K%%c***r   exc_typeOptional[type[BaseException]]	exc_valueOptional[BaseException]	tracebackOptional[TracebackType]c                >    | j                             |||           d S r   )r   __exit__)r   r   r   r   s       r   r   zPatchCaches.__exit__  s$     	Xy)<<<<<r   Nr-   )r   r	   )r   r   r   r   r   r   r   r   )	r.   r/   r0   classmethodr   r   r7   r   r   r2   r   r   rw   rw      s        ) ) [) B B [B- - - -M M M M^= = = = = =r   rw   ) 
__future__r   r   dataclassesrQ   	threadingtypingr   r   r   r   typing_extensionsr   r	   unittest.mockr
   torch._inductorr   torch._inductor.remote_cacher   typesr   	dataclassr   r+   localr=   ri   r]   rz   AbstractContextManagerrw   r2   r   r   <module>r      s   # " " " " "         



     9 9 9 9 9 9 9 9 9 9 9 9 , , , , , , , ,       " " " " " " ; ; ; ; ; ;  $###### !
 !
 !
 !
 !
 !
 !
 !
H	 	 	 	 	u 	 	 	$-> -> -> -> ->9? -> -> ->` |~~    $S)   : l= l= l= l= l=*3 l= l= l= l= l=r   