
    Vh                        d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZmZ erd dlmZ ddZddZ ej$                  d      dd	       Z	 	 	 	 	 	 dd
Zy)    )annotationsN)Path)
ModuleType)CallableTYPE_CHECKING)CachingAutotunerc                    t         j                  j                  d      }|r|j                  j	                  | |      S t        | |      S )Nztorch._inductor.codecache)sysmodulesgetPyCodeCacheload_by_key_path_reload_python_module)keypath	codecaches      U/home/dcms/DCMS/lib/python3.12/site-packages/torch/_inductor/runtime/compile_tasks.py _reload_python_module_in_subprocr      s>     ;<I$$55c4@@$S$//    c           
        t        |      5 }	 t        |j                         |dd      }t        t         d|        }||_        | |_	        t        ||j                  |j                         |t        j                  |j                  <   |cd d d        S # t        $ r-}t	        d| dt        |      j                   d|       d d }~ww xY w# 1 sw Y   y xY w)NexecT)dont_inheritzFailed to import 
z: .)opencompileread	ExceptionRuntimeErrortype__name__r   __file__r   r   __dict__r
   r   )r   r   fcodeemods         r   r   r      s    	d q	1668T6ED
 H:Qse,-T3<<.$'CLL!   	#D6DG,<,<+=RsC	 s.   CBA!C	C(CCCCc                    t         j                  j                  d      y t        t              j                         j                  d   dz  dz  } | j                         sy | j                         rAt        j                  | t         j                        rt        |       t         j                  d<   y t        j                  |  d       y )NTRITON_PTXAS_PATH   binptxasz  exists but is not an executable)osenvironr   r   r"   absoluteparentsexistsis_fileaccessX_OKstrwarningswarn)r,   s    r   _set_triton_ptxas_pathr8   )   s    	zz~~)*6N##%--a0587BE<<>}}299UBGG4*-e*

&'?@Ar   c                
   t                t        j                  j                  |       t	        j
                         } |        }|j                  d       t	        j
                         |z
  }|j                          ||dz  fS )NT)warm_cache_onlyi  )r8   r-   r.   updatetimetime_ns
precompileprepare_for_pickle)load_kernel	extra_envstart_nskernel
elapsed_nss        r   _worker_compile_tritonrE   6   sk     JJi ||~H]F
d+(*J
:%%%r   )r   r5   r   r5   returnr   )rF   None)r@   zCallable[[], CachingAutotuner]rA   zdict[str, str]rF   ztuple[CachingAutotuner, int])
__future__r   	functoolsr-   r
   r<   r6   pathlibr   typesr   typingr   r   )torch._inductor.runtime.triton_heuristicsr   r   r   	lru_cacher8   rE    r   r   <module>rP      sr    "  	 
     * J0  T	B 	B
&/
&<J
&!
&r   