Theading или многопроцессорность - PullRequest
0 голосов
/ 17 июня 2020
#!/usr/bin/python3
import subprocess
from py3nvml.py3nvml import *
import time

nvmlInit()
starttime = time.time()
handle = nvmlDeviceGetHandleByIndex(0)
current_pwr_limit = (nvmlDeviceGetEnforcedPowerLimit(handle))
current_gpu_temp = current_temp = nvmlDeviceGetTemperature(handle, NVML_TEMPERATURE_GPU)
while current_gpu_temp != 72:
    time.sleep(5)
else:

    if current_gpu_temp >= 72 and current_pwr_limit == 135000:
        subprocess.call(["nvidia-smi", "-i", "0", "-pl", "126"])
        print("126")
    if current_gpu_temp >= 72 and current_pwr_limit == 126000:
        subprocess.call(["nvidia-smi", "-i", "0", "-pl", "117"])
        print("117")
    if current_gpu_temp >= 72 and current_pwr_limit == 117000:
        subprocess.call(["nvidia-smi", "-i", "0", "-pl", "108"])
        print("108")

    elif current_gpu_temp <= 66 and current_pwr_limit < 108000:

        subprocess.call(["nvidia-smi", "-i", "0", "-pl", "117"])
        print("117")
    elif current_gpu_temp <= 66 and current_pwr_limit < 117000:
        subprocess.call(["nvidia-smi", "-i", "0", "-pl", "126"])
        print("126")
    elif current_gpu_temp <= 66 and current_pwr_limit < 126000:
        subprocess.call(["nvidia-smi", "-i", "0", "-pl", "135"])
        print("135")


nvmlShutdown()

print("tick")

Здравствуйте! Я пытаюсь написать код для мониторинга температуры графического процессора. Код монитора температуры графического процессора и когда он достигает 72 градусов, нижний предел мощности, например ... текущий предел мощности графического процессора = 135, когда температура достигает 72, код снижает предел мощности до 126 , если по прошествии некоторого времени графический процессор достигает 72 темпов с пределом мощности 126, код понижает предел мощности до 117 и так далее. Я понимаю, что текущий код не будет работать, так как мне нужно это просто как пример того, что я хочу. У меня вопрос: стоит ли изучать многопроцессорность, многопроцессорность или другую библиотеку для этих задач? Код будет контролировать 8 графических процессоров.

...