Недавно меня озадачили, задав вопрос: -«А как понять, что моя видеокарта вычисляет и насколько она загружена?»
Глупый вопрос, знаю, но пришлось рассказать человеку в деталях. Как средство измерения и анализа я использую GPU-Z, отличная утилита и главное не изобилует излишним функционалом, а для мониторинга загруженности GPU, это идеальная тулза.
Скриншоты GPUZ. Закладки Graphics Card и Sensors (в состоянии без нагрузки) и Sensors (во время вычислений на GPU).
Для нашего примера, воспользуемся скриншотами состояний из GPU-Z, во время визуализации сцены с автомобилем. На что стоит обратить внимание в первую очередь. Сначала узнайте сколько шейдерных ядер у вашей модели GPU (например, у моей Quadro FX 1800 их всего 64), какой объем памяти на борту вашей карты (у Quadro FX 1800 объем графической памяти составляет 768 Мб (не так уж и много)).
Схема архитектуры NVIDIA Fermi.
Основное на что стоит собрать внимание, это с какой максимальной частотой работают шейдерные процессоры (ядра) (в терминологии NVIDIA – CUDA ядра).
Блок с CUDA ядрами в GF100 (“Fermi”)
Итак, во время вычислений нагрузка идет именно на шейдерные процессоры, они как раз и работают с программным обеспечением написанном на CUDA C.
Если взглянуть на картинку из GPU-Z, вы увидите, когда выполняются вычисления на GPU, частота шейдерных процессоров увеличивается до максимального уровня. При этом для экономии энергии и вообще для более аккуратной работы, GPU во время простоя или выполнения несложных задач, просто плавно понижает частоты.
Так же, когда идет работа с CUDA приложениями, все данные которые необходимы для вычислений и могут поместиться в память графического ускорителя, будут находиться в памяти GPU. Это и демонстрирует изображение из GPU-Z в начале этого поста.
И в заключение хочется заметить, если и этого вам мало, то в GPU-Z есть отличный пункт “GPU Load” в котором отображается загруженность GPU, и при вычислениях с помощью CUDA приложений она обычно составляет 97 – 99%.
Комментариев нет:
Отправить комментарий