Skip to content

PowerNvidia ¤

PowerNvidia()

Class for monitoring Nvidia GPU power usage

Source code in ea2p/src/nvidia.py
def __init__(self):
    # Query drivers for the first time to avoid "Unknown" in the result. This also test the availability and working for Nvidia's drivers
    try:
        subprocess.check_output("nvidia-smi --query-gpu=power.draw --format=csv", shell=True)
    except subprocess.CalledProcessError:
        print("Error querying GPU power. Check if 'nvidia-smi' is installed and available.")

append_energy_usage ¤

append_energy_usage()

Append Nvidia GPU energy usage to dict containing sampling power measurements.

Returns: - Dictionary containing GPU power usage per GPU devices.

Source code in ea2p/src/nvidia.py
def append_energy_usage(self):
    """
    Append Nvidia GPU energy usage to dict containing sampling power measurements.

    Returns:
    - Dictionary containing GPU power usage per GPU devices.
    """

    cmd = "nvidia-smi --query-gpu=power.draw --format=csv"
    energy_usage = subprocess.check_output(cmd, shell=True)
    energy_usage = energy_usage.decode("utf-8").replace(" W", "")
    energy_usage = energy_usage.split("\n")[1:-1]
    #print(energy_usage)
    energy = {"GPU " + str(i): (float(energy_usage[i])) for i in range(len(energy_usage))}

    return energy