+
    G-j·  ã                   óü   € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIt^ RI	t	^ RI
HtHtHtHtHtHtHtHt  ! R R4      tR tRR R lltRR	 R
 llt]R8X  d"   ]! 4       t]! ]! ]P4                  4      4       R# R# )é    N)Úenviron)Ú	NVMLErrorÚnvmlDeviceGetCountÚnvmlDeviceGetHandleByIndexÚnvmlDeviceGetMemoryInfoÚnvmlDeviceGetNameÚnvmlInitÚnvmlShutdownÚnvmlSystemGetDriverVersionc                   óÄ   a € ] tR t^t o RtRR ltR tV 3R lR ltV 3R lR ltV 3R	 lR
 lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )ÚMachineInfoz'Class encapsulating Machine Info logic.Nc                óT  € Wn         VfG   \        P                  ! R\        P                  R7       \        P                  ! \
        4      V n        MW n        R V n         V P                  4       V n        R #   \         d'    T P                  P                  R4       R T n         R # i ; i)Nz3%(asctime)s - %(name)s - %(levelname)s: %(message)s)ÚformatÚlevelz"Exception in getting machine info.)ÚsilentÚloggingÚbasicConfigÚINFOÚ	getLoggerÚ__name__ÚloggerÚmachine_infoÚget_machine_infoÚ	ExceptionÚ	exception)Úselfr   r   s   &&&Úv/Volumes/fast/ai/experiments/nudenet-smoke/.venv/lib/python3.14/site-packages/onnxruntime/transformers/machine_info.pyÚ__init__ÚMachineInfo.__init__    s…   € ØŒàŠ>Ü×ÒØLÜ—l‘lõô "×+Ò+¬HÓ5ˆD�Kà ŒKà ˆÔð	%Ø $× 5Ñ 5Ó 7ˆDÖøÜô 	%Ø�K‰K×!Ñ!Ð"FÔGØ $ˆD×ð	%ús   ÁA6 Á6-B'Â&B'c                óh  € V P                  4       p\        P                  ! 4       pRVRV P                  4       RV P                  4       R\        P                  ! 4       RV P                  VR.4      RV P                  4       RV P                  4       R	V P                  4       R
V P                  4       /	pV# )z!Get machine info in metric formatÚgpuÚcpuÚmemoryÚosÚpythonÚpython_versionÚpackagesÚonnxruntimeÚpytorchÚ
tensorflow)
Úget_gpu_info_by_nvmlÚcpuinfoÚget_cpu_infoÚget_memory_infoÚplatformÚ_try_getÚget_related_packagesÚget_onnxruntime_infoÚget_pytorch_infoÚget_tensorflow_info)r   Úgpu_infoÚcpu_infor   s   &   r   r   ÚMachineInfo.get_machine_info3   sª   € à×,Ñ,Ó.ˆÜ×'Ò'Ó)ˆð �8Ø�4×$Ñ$Ó&Ø�d×*Ñ*Ó,Ø”(×#Ò#Ó%Ø�d—m‘m HÐ/?Ð.@ÓAØ˜×1Ñ1Ó3Ø˜4×4Ñ4Ó6Ø�t×,Ñ,Ó.Ø˜$×2Ñ2Ó4ð

ˆð Ðó    c                ó    <€ V ^8„  d   QhRS[ /# ©é   Úreturn©Údict)r   Ú__classdict__s   "€r   Ú__annotate__ÚMachineInfo.__annotate__E   s   ø€ ÷ @ñ @¡ñ @r8   c                ó`   € \         P                  ! 4       pRVP                  RVP                  /# )zGet memory infoÚtotalÚ	available)ÚpsutilÚvirtual_memoryrC   rD   )r   Úmems   & r   r.   ÚMachineInfo.get_memory_infoE   s'   € ä×#Ò#Ó%ˆØ˜Ÿ™ K°·±Ð?Ð?r8   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )r;   r6   Únamesr<   )r>   ÚlistÚstr)r   r?   s   "€r   r@   rA   J   s"   ø€ ÷ ñ ¡ð ©dð ±sñ r8   c           	     óÖ   € V F]  pW19   g   K  W,          p\        V\        \        34      '       d-   R P                  V Uu. uF  p\	        V4      NK  	  up4      u # Vu # 	  R# u upi )Ú,Ú )Ú
isinstancerK   ÚtupleÚjoinrL   )r   r6   rJ   ÚnameÚvalueÚis   &&&   r   r0   ÚMachineInfo._try_getJ   s[   € ÛˆDØÖØ ��Ü˜e¤d¬E ]×3Ò3ØŸ8™8±UÓ$;±U°¤S¨¦V±UÑ$;Ó<Ò<Ø’ñ ñ ùò %<s   ÁA&
c                ó    <€ V ^8„  d   QhRS[ /# r:   r=   )r   r?   s   "€r   r@   rA   S   s   ø€ ÷ 
ñ 
™dñ 
r8   c                ód  € \         P                  ! 4       pRV P                  VRR.4      R\        P                  ! RR7      R\        P                  ! RR7      RV P                  VR	.4      R
V P                  VR.4      RV P                  VR.4      R\
        P                  ! 4       P                  /# )zGet CPU infoÚbrandÚ	brand_rawÚcoresF)ÚlogicalÚlogical_coresTÚhzÚ	hz_actualÚl2_cacheÚl2_cache_sizeÚflagsÚ	processor)r,   r-   r0   rE   Ú	cpu_countr/   Úunamerc   )r   r6   s   & r   r-   ÚMachineInfo.get_cpu_infoS   sš   € ä×'Ò'Ó)ˆð �T—]‘] 8¨g°{Ð-CÓDØ”V×%Ò%¨eÔ4ØœV×-Ò-°dÔ;Ø�$—-‘- ¨;¨-Ó8Ø˜Ÿ™ h°Ð0AÓBØ�T—]‘] 8¨g¨YÓ7ØœŸšÓ)×3Ñ3ð
ð 	
r8   c                ó    <€ V ^8„  d   QhRS[ /# r:   r=   )r   r?   s   "€r   r@   rA   a   s   ø€ ÷ ñ ¡dñ r8   c                óþ  € . pRp \        4        \        4       p\        4       p\        V4       FX  p\	        V4      p\        V4      p/ pVP                  VR&   VP                  VR&   \        V4      VR&   VP                  V4       KZ  	  \        4        RTRT/p	R\        9   d   \        R,          T	R	&   T	#   \         d:   pT P                  '       g   T P                  P                  RT4        Rp?R# Rp?ii ; i)
zGet GPU info using nvmlNÚmemory_totalÚmemory_availablerS   z-Error fetching GPU information using nvml: %sÚdriver_versionÚdevicesÚCUDA_VISIBLE_DEVICESÚcuda_visible)r	   r   r   Úranger   r   rC   Úfreer   Úappendr
   r   r   r   Úerrorr   )
r   Úgpu_info_listrk   ÚdeviceCountrU   ÚhandleÚinfor5   rr   Úresults
   &         r   r+   Ú MachineInfo.get_gpu_info_by_nvmla   sð   € àˆØˆð	ÜŒJÜ7Ó9ˆNÜ,Ó.ˆKÜ˜;Ö'�Ü3°AÓ6�Ü.¨vÓ6�Ø�Ø+/¯:©:�˜Ñ(Ø/3¯y©y�Ð+Ñ,Ü#4°VÓ#<�˜Ñ Ø×$Ñ$ XÖ.ñ (ô ŒNð # N°I¸}ÐMˆà!¤WÔ,Ü%,Ð-CÕ%DˆF�>Ñ"Øˆøô ô 	Ø—;—;�;Ø—‘×!Ñ!Ð"QÐSXÔYÝûð	ús   †BB8 Â8C<Ã.C7Ã7C<c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r:   )rK   rL   )r   r?   s   "€r   r@   rA   }   s   ø€ ÷ %ñ %¡d©3¥iñ %r8   c                ó  € 0 Rmp/ p\         P                  P                  4        FX  pVP                  R,          P                  4       V9   g   K+  VP                  W#P                  R,          P                  4       &   KZ  	  V# )úonnxruntime-gpuÚName>   ÚonnxÚnumpyÚsympyÚtorchÚprotobufr*   Úflatbuffersr(   Útransformersr{   úonnxconverter-common)Ú	importlibÚmetadataÚdistributionsÚlowerÚversion)r   Úrelated_packagesÚrelated_packages_listÚdists   &   r   r1   Ú MachineInfo.get_related_packages}   sm   € ò
Ðð !#ÐÜ×&Ñ&×4Ñ4Ö6ˆDØ�}‰}˜VÕ$×*Ñ*Ó,Ð0@Ö@ØGKÇ|Á|Ð%§m¡m°FÕ&;×&AÑ&AÓ&CÓDñ 7ð %Ð$r8   c                ó    <€ V ^8„  d   QhRS[ /# r:   r=   )r   r?   s   "€r   r@   rA   ’   s   ø€ ÷ ñ ¡dñ r8   c                ó^  €  ^ RI pRVP                  RRVP                  4       9   /#   \         d9   pT P                  '       g   T P
                  P                  T4        Rp?R# Rp?i\         d:   pT P                  '       g   T P
                  P                  TR4        Rp?R# Rp?ii ; i)r   Nr‰   Úsupport_gpuÚCUDAExecutionProviderF)r(   Ú__version__Úget_available_providersÚImportErrorr   r   r   r   )r   r(   rr   r   s   &   r   r2   Ú MachineInfo.get_onnxruntime_info’   sŽ   € ð	Ûð ˜;×2Ñ2ØÐ6¸+×:]Ñ:]Ó:_Ñ_ðð øô ô 	Ø—;—;�;Ø—‘×%Ñ% eÔ,ÝûÜô 	Ø—;—;�;Ø—‘×%Ñ% i°Ô7Ýûð	ús&   ‚$' §B,²-A%Á%B,Á2B,Á3.B'Â'B,c                ó    <€ V ^8„  d   QhRS[ /# r:   r=   )r   r?   s   "€r   r@   rA   £   s   ø€ ÷ ñ ¡$ñ r8   c                ó˜  €  ^ RI pRVP                  RVP                  P                  4       RVP                  P                  /#   \
         d9   pT P                  '       g   T P                  P                  T4        Rp?R# Rp?i\         d:   pT P                  '       g   T P                  P                  TR4        Rp?R# Rp?ii ; i)r   Nr‰   r�   ÚcudaF)
r€   r’   r˜   Úis_availabler‰   r”   r   r   r   r   )r   r€   rr   r   s   &   r   r3   ÚMachineInfo.get_pytorch_info£   s›   € ð	Ûð ˜5×,Ñ,Ø˜uŸz™z×6Ñ6Ó8Ø˜Ÿ™×*Ñ*ðð øô
 ô 	Ø—;—;�;Ø—‘×%Ñ% eÔ,ÝûÜô 	Ø—;—;�;Ø—‘×%Ñ% i°Ô7Ýûð	ús*   ‚AA ÁC	Á-BÂC	ÂC	Â.CÃC	c                ó    <€ V ^8„  d   QhRS[ /# r:   r=   )r   r?   s   "€r   r@   rA   µ   s   ø€ ÷ ñ ¡Tñ r8   c                óª  €  ^ RI pRVP                  P                  RVP                  P                  RVP                  P                  4       /#   \         d9   pT P                  '       g   T P                  P                  T4        Rp?R# Rp?i\         d9   pT P                  '       g   T P                  P                  T4        Rp?R# Rp?ii ; i)r   Nr‰   Úgit_versionr�   )r*   r‰   ÚVERSIONÚGIT_VERSIONÚtestÚis_built_with_cudar”   r   r   r   ÚModuleNotFoundError)r   Útfrr   s   &  r   r4   ÚMachineInfo.get_tensorflow_infoµ   s�   € ð	Û#ð ˜2Ÿ:™:×-Ñ-Ø˜rŸz™z×5Ñ5Ø˜rŸw™w×9Ñ9Ó;ðð øô
 ô 	Ø—;—;�;Ø—‘×%Ñ% eÔ,ÝûÜ"ô 	Ø—;—;�;Ø—‘×%Ñ% eÔ,Ýûð	ús*   ‚AA ÁCÁ-BÂCÂCÂ-CÃC)r   r   r   )FN)r   Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r.   r0   r-   r+   r1   r2   r3   r4   Ú__static_attributes__Ú__classdictcell__)r?   s   @r   r   r      sd   ø‡ € Ù1ô%ò&÷$@ð @÷
ð ÷
ð 
÷ð ÷8%ð %÷*ð ÷"ð ÷$ö r8   r   c                  óž   € \         P                  ! 4       p V P                  R RRRR7       V P                  RR7       V P	                  4       pV# )z--silentFÚ
store_truezDo not print error message)ÚrequiredÚactionÚhelp)r   )ÚargparseÚArgumentParserÚadd_argumentÚset_defaultsÚ
parse_args)ÚparserÚargss     r   Úparse_argumentsr·   È   sU   € Ü×$Ò$Ó&€Fà
×ÑØØØØ)ð	 ô ð ×Ñ˜uÐÔ%à×ÑÓ€DØ€Kr8   c                ó$   € V ^8„  d   QhR\         /# r:   ©rL   )r   s   "r   r@   r@   ×   s   € ÷ 6ñ 6¤Sñ 6r8   c                 ó\   € \        V 4      p\        P                  ! VP                  ^R7      # )r;   ©Úindent)r   ÚjsonÚdumpsr   )r   Úmachines   & r   r   r   ×   s#   € Ü˜&Ó!€GÜ�:Š:�g×*Ñ*°1Ô5Ð5r8   c                ó$   € V ^8„  d   QhR\         /# r:   r¹   )r   s   "r   r@   r@   Ü   s   € ÷ &ñ &¤Cñ &r8   c                 óÔ   € \        V 4      pVP                  pV'       d-   VP                  4        UUu/ uF  w  r4VR9   g   K  W4bK  	  ppp\        P                  ! V^R7      # u uppi )r!   r»   )r!   r"   r#   )r   r   Úitemsr½   r¾   )r   r¿   rv   ÚkeyrT   s   &    r   Úget_device_inforÄ   Ü   sY   € Ü˜&Ó!€GØ×Ñ€DßØ-1¯Z©Z¬\Ô]©\™z˜s¸SÐD\Ñ=\”
�’
©\ˆÑ]Ü�:Š:�d 1Ô%Ð%ùó ^s   ³A$ÁA$Ú__main__)T)r°   Úimportlib.metadatar…   r½   r   r/   r$   r   r,   rE   Úpy3nvml.py3nvmlr   r   r   r   r   r	   r
   r   r   r·   r   rÄ   r   r¶   Úprintr   © r8   r   Ú<module>rÊ      ss   ðó Û Û Û Û Ý ã Û ÷	÷ 	ó 	÷hñ hòV÷6÷
&ð ˆzÔÙÓ€DÙ	Ñ
˜4Ÿ;™;Ó
'Ö(ñ r8   