U
    -_gL                     @   s&   d dl mZmZ G dd deeZdS )    )PluginIndependentPluginc                   @   s$   e Zd ZdZdZdZdZdd ZdS )NvidiazNvidia GPU informationZnvidia)z
nvidia-smiz
nvidia-ctk)znvidia-persistencedznvidia-fabricmanagerznvidia-toolkit-firstbootc                 C   s~   |  d dddddddd	g}d
dg}| dd |D  | dd |D  d}d}| d| d | d| d d S )Nz/etc/cdi/nvidia.yamlz--list-gpusz-q -d PERFORMANCEz-q -d SUPPORTED_CLOCKSz-q -d PAGE_RETIREMENTz-qz	-q -d ECCz	nvlink -sz	nvlink -ezcdi listz	--versionc                 S   s   g | ]}d | qS )znvidia-smi  .0cmdr   r   ;/usr/lib/python3/dist-packages/sos/report/plugins/nvidia.py
<listcomp>(   s     z Nvidia.setup.<locals>.<listcomp>c                 S   s   g | ]}d | qS )znvidia-ctk r   r   r   r   r	   r
   )   s     zgpu_name,gpu_bus_id,vbios_version,temperature.gpu,utilization.gpu,memory.total,memory.free,memory.used,clocks.applications.graphics,clocks.applications.memoryzRtimestamp,gpu_bus_id,gpu_serial,gpu_uuid,retired_pages.address,retired_pages.causeznvidia-smi --query-gpu=z --format=csvz!nvidia-smi --query-retired-pages=)Zadd_copy_specZadd_cmd_output)selfZsubcmdsZctk_subcmdsZqueryZ
querypagesr   r   r	   setup   s*    

zNvidia.setupN)__name__
__module____qualname__Z
short_descZplugin_nameZcommandsservicesr   r   r   r   r	   r      s
   r   N)Zsos.report.pluginsr   r   r   r   r   r   r	   <module>   s   