
    vh                        d dl Z d dlZd dlZd dlZdZg dZ G d de j                        Zej                  ej                  ej                  ej                  ej                  ej                  dZd Zdefd	Zdefd
Zy)    N0x1ae0)z/dev/nvidia0z/dev/nvidiactlz/dev/dxgc                   (    e Zd ZdZdZdZdZdZdZdZ	y)	
TpuVersionr                     N)
__name__
__module____qualname__v2v3plcv4v5pv5ev6e     R/opt/face_recognition/venv/lib/python3.12/site-packages/jax/_src/hardware_utils.pyr   r      s%    ""	#"	#	#	#r   r   )0x00270x00560x005e0x00620x00630x006fc                     d} d}t        j                   d      D ]  }t        j                  |      j                         j	                         }|t
        k7  r>t        j                  j                  t        j                  j                  |      d      }t        j                  |      j                         j	                         }|t        v st        |   }| dz  }  | |fS )zCReturns the device id and number of TPU chips attached through PCI.r   Nz/sys/bus/pci/devices/*/vendordevicer   )globpathlibPath	read_textstrip_GOOGLE_PCI_VENDOR_IDospathjoindirname_TPU_PCI_DEVICE_IDS)	num_chipstpu_versionvendor_path	vendor_iddevice_path	device_ids         r   %num_available_tpu_chips_and_device_idr2   6   s    )+YY>? 	k[)335;;=I))'',,rww{;XFK[)335;;=I'''	2k1ni	 
K	r   returnc                  .    t        d t        D              S )zJTrue if there's a visible nvidia gpu available on device, False otherwise.c              3   Z   K   | ]#  }t         j                  j                  |       % y w)N)r'   r(   exists).0ds     r   	<genexpr>z)has_visible_nvidia_gpu.<locals>.<genexpr>K   s     <1RWW^^A<s   )+)any_NVIDIA_GPU_DEVICESr   r   r   has_visible_nvidia_gpur<   H   s     
<(;<	<<r   c                      t        j                  d      } | j                         xr! | j                         j	                         dk(  S )Nz+/sys/kernel/mm/transparent_hugepage/enabledz[always] madvise never)r"   r#   r6   r$   r%   )r(   s    r   transparent_hugepages_enabledr>   N   s:     
C	D$		O4>>+1137OOOr   )enumr'   r"   r!   r&   r;   IntEnumr   r   r   r   r   r   r   r+   r2   boolr<   r>   r   r   r   <module>rB      s     	     
 
" mmnnmmnnnnnn  $= =Pt Pr   