
    Αi9                     h   S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKJr   " S S5      r	SS jr
SS jrSS jrSS jrSS	 jrSS
 jrSS jrS rS rS rS r\S:X  aQ  \" \" S 5      5        \" \" S 5      5        \" \" S 5      5        \" 5       r\ H  r\" \R3                  5       5        M     gg)    N)corec                   0    \ rS rSrS rS rS rSS jrSrg)	Info   c                 ,    [        U R                  5      $ N)str__dict__selfs    e/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddle/distributed/launch/utils/nvsmi.py__repr__Info.__repr__   s    4==!!    c                 B    [         R                  " U R                  5      $ r   )jsondumpsr
   r   s    r   r   	Info.json   s    zz$--((r   c                     U R                   $ r   )r
   r   s    r   dict	Info.dict!   s    }}r   Nc           	         Uc  U R                   R                  5       n[        U[        5      (       a  UR	                  S5      nU Vs/ s H(  n[        U R                   R                  US5      5      PM*     nnSR                  U5      $ s  snf )N, )r
   keys
isinstancer	   splitgetjoin)r   r   kvaluess       r   r	   Info.str$   sq    <==%%'DdC  ::c?D9=>A#dmm''2./>xx ?s   /B
 r   )	__name__
__module____qualname____firstlineno__r   r   r   r	   __static_attributes__r#   r   r   r   r      s    ") r   r   c           	         [        5       (       d  / $ SS/n[        U [        5      (       a7  US:X  a1  UR                  SR	                  SR                  U 5      5      /5        O][        U [        5      (       aG  UR                  S5      (       a1  UR                  SR	                  SR                  U 5      5      /5        Og[        U[        5      (       a?  [        U5      S	:  a0  UR                  S
R	                  SR                  U5      5      /5        [        U[        5      (       a  [        U5      [        U 5      :w  a  [        /[        U 5      -  n[        R                  " USS9nUR                  S5      R                  [        R                  5      n/ nU Hn  nU(       d  M  [        5       n	[!        XR                  S5      U5       H(  u  pn[#        XR%                  SS5      U" U5      5        M*     UR'                  U	5        Mp     U$ )z
query_type: gpu/compute

nvidia-smiz--format=csv,noheader,nounitsgpuz--query-gpu={}r   computez--query-compute-apps={}Nr   z--id={}   timeoututf-8z, ._)has_nvidia_smir   listextendformatr   
startswithlenr	   
subprocesscheck_outputdecoder   oslinesepr   zipsetattrreplaceappend)query
query_typeindexdtypecmdoutputlinesretlineinfor    vds                r   	query_smirN   /   s   
 	8
9C%:#6

$++CHHUO<=>	E4	 	 Z%:%:9%E%E

-44SXXe_EFG%3u:>

I$$SXXe_567eT""c%jCJ&>E
"$$S!4FMM'"((4E
Cv5**T"2E:GA!D))C-qt4 ;

4  Jr   c                    [        5       (       d  / $ S/n[        U[        5      (       a  [        U5      [        U 5      :w  a  [        /[        U 5      -  n[
        R                  " USS9nUR                  S5      R                  [        R                  5      n/ nU GH5  nU(       d  M  [        UR                  5       5      S:w  d  SUR                  5       ;   a  M@  [        5       n	UR                  5       nUS   US   S [        US   5      S	-
   UU[        US
   S [        US
   5      S	-
   5      -  S-  X3[        US
   S [        US
   5      S	-
   5      -  S-  -
  [        R                  " S[        R                  " 5       5      /n[!        XU5       H(  u  pn[#        XR%                  SS5      U" U5      5        M*     UR'                  U	5        GM8     U$ )Nrocm-smir-   r.   r0      DCUr            d   %Y-%m-%d %H:%M:%Sr1   r2   )has_rocm_smir   r4   r8   r	   r9   r:   r;   r   r<   r=   r   floattimestrftime	localtimer>   r?   r@   rA   )rB   rD   rE   memrF   rG   rH   rI   rJ   rK   r    rL   rM   s                r   query_rocm_smir^   Q   s   >>	,CeT""c%jCJ&>E
"$$S!4FMM'"((4E
Ctzz|!Udjjl%:vzz|GG&c$q'lQ&'%Q 2#d1g,"2344s:d1g&8DGq(89::S@@MM-t~~/?@
 5.GA!D))C-qt4 /

4# $ Jr   c                 n   [        5       (       d  / $ SS/n[        U[        5      (       a  [        U5      [        U 5      :w  a  [        /[        U 5      -  n[
        R                  " USS9nUR                  S5      R                  [        R                  5      n/ nSnU GH  nU(       d  M  [        R                  " SU5      n	[        U	5      n
U
S;  d  S	U	;   a  M=  U	 Vs/ s H  o(       d  M  UPM     n	n[        5       nUU	S
   U	S   [        U	S   5      [        U	S   5      [        U	S   5      -
  [        R                  " S[        R                   " 5       5      /n	US-  n[#        X	U5       H(  u  pn[%        XR'                  SS5      U" U5      5        M*     UR)                  U5        GM     U$ s  snf )Nnpu-smirK   r-   r.   r0   r   z
,|/|\s+|\|)      NPU   rU      rW   rT   r1   r2   )has_npu_smir   r4   r8   r	   r9   r:   r;   r   r<   r=   rer   rY   rZ   r[   r\   r>   r?   r@   rA   )rB   rD   rE   rF   rG   rH   rI   irJ   resultlengthitemrK   r    rL   rM   s                   r   query_npu_smirl   r   sy   ==	f
CeT""c%jCJ&>E
"$$S!4FMM'"((4E
C	A-.V!Uf_#)264T$62v1I1I&)6!9fQi 00MM-t~~/?@
 	
Q5%0GA!D))C-qt4 1

4+ , J 3s    
F2.F2c                 N   [        [        S5      (       a  [        R                  " 5       S:X  a  / $ [        U[        5      (       a  [        U5      [        U 5      :w  a  [        /[        U 5      -  n[        U[        5      (       a  [        U5      S:X  a'  [	        [        [        R                  " 5       5      5      n/ nU H  n[        U5      n[        R                  " U5      n[        R                  " U5      S-  S-  n[        R                  " U5      S-  S-  nUUUUXg-
  [        R                  " S[        R                  " 5       5      /n[        5       n	[!        XU5       H(  u  pn[#        XR%                  SS5      U" U5      5        M*     UR'                  U	5        M     U$ )Nget_xpu_device_countr   i   rW   r1   r2   )hasattrr   rn   r   r4   r8   r	   rangeintget_xpu_device_utilization_rateget_xpu_device_total_memoryget_xpu_device_used_memoryrZ   r[   r\   r   r>   r?   r@   rA   )rB   rD   rE   rI   dev_idutilization_xpu	mem_totalmem_usedri   rK   r    rL   rM   s                r   query_xpu_smiry      s`   D011$$&!+	eT""c%jCJ&>E
"eT""c%jAoU444678
CV>>vF,,V4t;dB 	 ++F3d:TA 	 !MM-t~~/?@
 v5%0GA!D))C-qt4 1

4) * Jr   c                     SR                  S5      n[        [        [        [        [        [        [        /nU b  [        U [        5      (       a  U O[        U 5      R                  S5      n [        XUS9$ )NzEindex,uuid,driver_version,name,gpu_serial,display_active,display_moder   rD   rE   r   rq   r	   r   r4   rN   rD   qrM   s      r   get_gpu_infor      si    OUU	A 
c3S#s+A =Jud33 	Zc" 
 Q1--r   c                    SR                  S5      n[        [        [        [        [        [        /nU b  [        U [        5      (       a  U O[        U 5      R                  S5      n [
        R                  R                  5       (       a
  [        XUS9$ [
        R                  R                  S5      (       a
  [        XUS9$ [
        R                  " 5       (       a
  [        XUS9$ [        XUS9$ )NzDindex,utilization.gpu,memory.total,memory.used,memory.free,timestampr   r{   npu)r   rq   r	   r   r4   paddledeviceis_compiled_with_rocmr^   is_compiled_with_custom_devicerl   is_compiled_with_xpury   rN   r}   s      r   get_gpu_utilr      s    NTT	A 
c3S#&A =Jud33 	Zc" 

 }}**,,aA66		5	5e	<	<Q155		$	$	&	&Q155Q1--r   c                     SR                  S5      n[        [        [        [        [        /nU b  [        U [        5      (       a  U O[        U 5      R                  S5      n [        XSUS9$ )Nz.pid,process_name,gpu_uuid,gpu_name,used_memoryr   r,   )rD   rC   rE   r|   r}   s      r   get_gpu_processr      sb    8>>sCA	c3S!A =Jud33 	Zc" 
 Q	CCr   c                  .    [         R                  " S5      $ )Nr*   shutilwhichr#   r   r   r3   r3      s    <<%%r   c                  .    [         R                  " S5      $ )NrP   r   r#   r   r   rX   rX      s    <<
##r   c                  .    [         R                  " S5      $ )Nr`   r   r#   r   r   rf   rf          <<	""r   c                  .    [         R                  " S5      $ )Nzxpu-smir   r#   r   r   has_xpu_smir      r   r   __main__)Nr+   NN)NNNi}  )NNNr   )r   r<   rg   r   r9   rZ   r   paddle.baser   r   rN   r^   rl   ry   r   r   r   r3   rX   rf   r   r$   printurh   r	   r#   r   r   <module>r      s     	 	        *DB$N F..&	D&$## z	,q/	,q/	/!
Aaeeg  r   