Связь между использованием графического процессора и энергопотреблением графической карты

Интересно, какова связь между использованием графического процессора и энергопотреблением графической карты?

Например, на приведенном ниже снимке экрана нагрузка на GPU 2 составляет 92%, а энергопотребление составляет 129 Вт из 250. Почему энергопотребление не составляет 250 * 0,92 = 230 Вт?

2 ответа

Решение

Коэффициент загрузки показывает, сколько еще может быть выполнено тех же вычислений, а не то, сколько общей вычислительной мощности чипа используется для этих вычислений.

Например, ваши 92% показывают, что в среднем графический процессор что-то делал в течение 920000 из каждых 1 миллиона тактовых циклов. Это не означает, что 92% каждой отдельной схемы каждого отдельного шейдерного процессора были активны, не говоря уже о 92% каждой отдельной цепи на всей плате (контроллер VRAM, ЦАП, шейдеры и растровые блоки, предикторы ветвления и модули поиска текстур и скоро).

Если ваше использование использует только некоторые функции графического процессора, вы вполне можете работать на 100% пропускной способности этих функций, оставляя половину чипа спящим. Но половина, которая спит, вообще не может быть использована для этого типа работы.

Обычно это означает, что ваша программа CUDA является неоптимальной. Сейчас я оптимизирую свою программу CUDA. Я написал несколько итераций, улучшая производительность в каждой итерации. Как ни удивительно, на каждой итерации он сообщал о 100% загрузке графического процессора. Но энергопотребление было разным на каждой итерации. В последней итерации, с увеличением энергопотребления с 40% до 70%, моя программа была улучшена в 7 раз (!!!) с точки зрения времени, необходимого для вычисления того, что мне нужно.

GPU в основном останавливается на операциях с памятью. Я оптимизировал для лучшего кэширования (то есть меньше глобальных обращений к памяти), и я получил следующие изменения датчиков:

  • Загрузка Gpu: остается на 100%
  • Загрузка контроллера памяти: увеличена с 20% до 25%
  • Потребляемая мощность: увеличена с 40% до 70%
  • Время настенного выполнения вычислений: уменьшилось в 7 раз

К сожалению, исходный код является частным, поэтому я не могу дать вам попробовать себя. Тем не менее, вы можете получить некоторое представление о том, что делает узкое место в моей программе: это цикл с одной памятью, считанной из массива (ith), сложение и умножение, а также присвоение float,

250 Вт - это максимальное энергопотребление для данной модели видеокарты, а не для данной видеокарты. Если у вас нет худшего экземпляра этой видеокарты, вы никогда не будете использовать 250 Вт.

Другие вопросы по тегам