
    uki-	                        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                  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	dZ
y	)

TpuVersionr                        N)__name__
__module____qualname__v2v3plcv4v5pv5ev6etpu7x     R/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/jax/_src/hardware_utils.pyr   r      s*    ""	#"	#	#	#
%r   r   )0x00270x00560x005e0x00620x00630x006f0x0076c                     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_idr5   9   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>N   s     <1RWW^^A<s   )+)any_NVIDIA_GPU_DEVICESr   r   r   has_visible_nvidia_gpur?   K   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&   r9   r'   r(   )r+   s    r   transparent_hugepages_enabledrA   Q   s:     
C	D$		O4>>+1137OOOr   )enumr*   r%   r$   r)   r>   IntEnumr   r   r   r   r   r   r   r   r.   r5   boolr?   rA   r   r   r   <module>rE      s     	      & mmnnmmnnnnnn  $= =Pt Pr   