Source code for perfmon.core.metrics.gpumetrics.nvidia.clock

"""Functions to monitor clock frequency info related metrics for NVIDIA GPUs"""

import logging

from py3nvml.py3nvml import *

from perfmon.core.metrics.gpumetrics.nvidia import device_query

_log = logging.getLogger(__name__)

# pylint: disable=E0401,W0201,C0301


[docs]def clock_info(data): """This method gets NVIDIA GPU clock info for memory, graphics and SM""" # Get graphics clock info graphics_report = device_query('nvmlDeviceGetClockInfo', 0) for i, grap in enumerate(graphics_report): data[i]['clock_info']['graphics'].append(grap) # Get SM clock info sm_report = device_query('nvmlDeviceGetClockInfo', 1) for i, sm in enumerate(sm_report): data[i]['clock_info']['sm'].append(sm) # Get graphics clock info mem_report = device_query('nvmlDeviceGetClockInfo', 2) for i, mem in enumerate(mem_report): data[i]['clock_info']['memory'].append(mem) return data