Я хотел бы запустить интенсивный процесс CPU и GPU на некоторых машинах, но эти процессы не должны мешать задачам пользователя. Поэтому мне нужно ограничить или, по крайней мере, определять использование графических процессоров в моих процессах. Эти процессы являются закрытыми, поэтому я не могу наблюдать за использованием графического процессора изнутри.
Есть ли способ узнать и/или ограничить использование GPU процессом в Windows?
Ответ 1
Ответ на ваш вопрос: "Да" (в Windows Vista и выше), "Проводник процессов" от Microsoft, чтобы отслеживать каждый процесс GPU Применение. nvidia parallel nsight также может это сделать. Теперь, тело вашего вопроса звучит так, как будто вы хотите сделать это дистанционно. К сожалению, я не знаю, как это сделать удаленно. Тем не менее, надеюсь, это будет вам полезно.
edit to add: если вы запускаете Process Explorer, я не думаю, что он показывает статистику GPU по умолчанию, чтобы щелкнуть их правой кнопкой мыши по списку столбцов и добавить их.
Ответ 2
Графический процессор - это ресурс, который может использоваться только одной программой за раз. Если другой процесс использует графический процессор, вы не можете получить к нему доступ.
Программа может одновременно запускать несколько ядер GPU, но до этой программы они запускаются. Там нет реальной концепции планирования, как это происходит с процессами ОС и ЦП.
У некоторых поставщиков может быть возможность проверить статус устройства, например, # ядра в использовании, тепло, скорость вентилятора и т.д., но это не позволит вам изменить то, что происходит на нем, и это будет для каждого поставщика/устройства.