
    Vh                        d dl mZ d dlZd dlZd dlZd dlmZmZ d dlm	Z	 d dl
Zd dlZd dlmZmZmZ d dlmZ ddlmZmZmZ dd	lmZ erd d
lmZ  G d de      Zy)    )annotationsN)OptionalTYPE_CHECKING)override)AnyPoolSubprocKindSubprocPool)clear_inductor_caches   )_OutOfProcessFxCompile_WireProtocolPickledInput_WireProtocolPickledOutput)complex_memory_overlap)Mappingc                  t    e Zd Ze	 	 	 	 dd       Zeej                  dd              Ze		 	 	 	 	 	 dd       Z
y)_SubprocessFxCompilec                   | j                         }ddg}|D ci c])  }|t        j                  v s|t        j                  |   + }}|j                  t        j
                  ||      }|j                         }|S c c}w )NTORCHINDUCTOR_CACHE_DIRTRITON_CACHE_DIR)process_poolosenvironsubmitr   _run_in_child_subprocessresult)selfinputpoolenv_varsv	extra_envfoutputs           R/home/dcms/DCMS/lib/python3.12/site-packages/torch/_inductor/compile_fx_subproc.py_send_to_childz#_SubprocessFxCompile._send_to_child   sz       " ./AB/7K!1

?Q

1%K	KKK,EEuiX  Ls
   A<A<c                 z    t        dt        j                        } t        j                  | j
                         | S )Nr   )kind)r	   r   SPAWNatexitregistershutdown)r   s    r$   r   z!_SubprocessFxCompile.process_pool;   s3      ""	
 	&    c                    t                t        j                  j                  j	                          | j                  ||      }|S )N)r
   torch	_inductormetricsreset_run_in_child)clspickled_inputr!   r   s       r$   r   z-_SubprocessFxCompile._run_in_child_subprocessI   s9    . 	%%' ""=)<r,   N)r   r   returnr   )r5   r   )r4   r   r!   zOptional[Mapping[str, str]]r5   r   )__name__
__module____qualname__r   r%   staticmethod	functoolscacher   classmethodr    r,   r$   r   r      st    .	# 6 __
  
 0 / 
$	 r,   r   )
__future__r   r)   r:   r   typingr   r   typing_extensionsr   torch._inductor.async_compiler.   torch.fx+torch._inductor.compile_worker.subproc_poolr   r   r	   torch._inductor.utilsr
   compile_fx_extr   r   r   output_coder   collections.abcr   r   r=   r,   r$   <module>rH      sS    "   	 * & $  
 8 
 J 'H1 Hr,   