
    >̄iC                        d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd Z	 ej                         d        Z ej                         d        Ze j                  d        Z ej                         d        Zd Zy)    Nc                  :    dd l } | j                  j                  d uS )Nr   )torchversionhip)r   s    ]/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/triton/common/build.pyis_hipr      s    ==D((    c            	         t        j                  d      } | r| gS t        j                  ddg      j	                         }|j                         D cg c]  }d|v s|j                         d    }}|D cg c]!  }t         j                  j                  |      # }}t        j                  d      }|r^|s\|j                  d      D cg c]B  }t         j                  j                  t         j                  j                  |d            sA|D }}d}|r|d	t        |      z  z  }|d
z  }n
|dz  }|dz  }t        d |D              sJ |       |S c c}w c c}w c c}w )NTRITON_LIBCUDA_PATHz/sbin/ldconfigz-p
libcuda.soLD_LIBRARY_PATH:zlibcuda.so cannot found!
z!Possible files are located at %s.z9Please create a symlink of libcuda.so to any of the file.z;Please make sure GPU is setup and then run "/sbin/ldconfig"z- (requires sudo) to refresh the linker cache.c              3      K   | ]A  }t         j                  j                  t         j                  j                  |d              C yw)r   N)ospathexistsjoin).0r   s     r   	<genexpr>zlibcuda_dirs.<locals>.<genexpr>(   s,     QDrww~~bggll4>?Qs   AA	)r   getenv
subprocesscheck_outputdecode
splitlinessplitr   dirnamer   r   strany)	env_libcuda_pathlibslinelocslocdirsenv_ld_library_pathdirmsgs	            r   libcuda_dirsr)      sN   yy!67 !!""$4d#;<CCED *.):Sld>RDJJLSDS,01SBGGOOC 1D1))$564288=qPRPWPWP\P\]`bnPoApqq
&C2SY>>JJLL>>QDQQVSVVQK T1 rs   	EE7&EAEEc                  0    t        j                  dd      S )N	ROCM_PATHz	/opt/rocm)default)r   r    r	   r   rocm_path_dirr.   ,   s    99[+66r	   c               #   2  K   t         j                  t         j                  }} t        j                         t        j                         ct         _        t         _        	 d  | |ct         _        t         _        y # | |ct         _        t         _        w xY ww)N)sysstdoutstderrioStringIO)
old_stdout
old_stderrs     r   quietr7   1   s[      ZZ
J[[]BKKMCJ
8!+Z
CJZ
CJs   ABA; #B;BBc                  6   t         j                  j                  t         j                  j                  t              t         j                  j
                        } t         j                  j                  | dd      }t         j                  j                  |d      S )Nthird_partycudainclude)r   r   r   r   __file__pardir)base_dir	cuda_paths     r   cuda_include_dirr@   ;   sV    ww||BGGOOH5rww~~FHX}f=I77<<	9--r	   c                 D   t               rQt        j                  j                  t	               d      }t        j                  j                  t	               d      }nt               }t               }t        j                  d      }t        j                  j                  |dj                  | |            }t        j                  j                  d      }	|	=t        j                  d      }
t        j                  d      }||n|
}	|	t        d	      t        t        d
      rt        j                          }nt        j"                         }|dk(  rd}t        j$                  |      d   }t               r-t'        j(                  |	|d d| d| ddd dd|g      }nA|	|dd d| d| dddd|g}|D cg c]  }d| 	 c}z  }t'        j(                  |      }|dk(  r|S g }}|g}dg}g }t+        j,                  | d|g||dgz   |||      }dg}|j/                  d|z          |j/                  d|z          |j/                  d       t1        | |g|      }t3               5  t+        j4                  di | d d d        |S c c}w # 1 sw Y   |S xY w) Nlibr;   
EXT_SUFFIXz{name}{suffix})namesuffixCCclanggcczFFailed to find C compiler. Please specify via CC environment variable.get_default_schemeposix_localposix_prefix)schemez-Iz-sharedz-fPICz-Lz
-lamdhip64z-oz-O3z-lcudar   r:   c)rD   languagesourcesinclude_dirsextra_compile_argsextra_link_argslibrary_dirs	libraries	build_extz--build-temp=z--build-lib=z-q)rD   ext_modulesscript_argsr-   )r   r   r   r   r.   r)   r@   	sysconfigget_config_varformatenvirongetshutilwhichRuntimeErrorhasattrrI   _get_default_scheme	get_pathsr   
check_call
setuptools	Extensionappenddictr7   setup)rD   srcsrcdirhip_lib_dirhip_include_dircuda_lib_dirscu_include_dirrE   soccrG   rH   rL   py_include_dirretcc_cmdr'   rQ   rS   rP   rT   rR   extargss                           r   _buildrv   B   s   xggll=?E:'',,}	B$)+%%l3F	f.5545O	PB		B	zW%ll5!OS:ghhy./--/..0 ((7	BNx##r/*+r.1A-BbMS\^edB%
  Ub 01R7G3HBvh-Ybdkmu"
 	7#Ru:77##F+
ax	 LN+LIO


!-7'!	C =DKK&()KK'(KKED
 
 ! 4 !IG 8B!Is   ?J0JJ)
contextlib	functoolsr3   r   r]   r   r0   rX   rd   r   	lru_cacher)   r.   contextmanagerr7   r@   rv   r-   r	   r   <module>r{      s      	 	   
  )
  0 7 7 8 8 . .Jr	   