LINUX.ORG.RU

AMD! AMD! AMD!

 , , , ,


4

2

Zen uArch отличная, не считая адового потребления энергии в простое, которое исчисляется от 20 до 35W для desktop CPUs, но вот хочется поговорить про HW accelerated video decoding на AMD APU.

Почему древний Core i5 6200U на 14nm тратит для декодирования 1080p 60fps H.264 в Firefox 3.5W, а новый навороченный 6nm Ryzen 7 7840U/HS жрёт 12-14W для того же самого, т.е. примерно в 4 раза больше?

В простое 6200U сидит примерно на 0.45W, 7840HS примерно 0.8W, т.е. разница несущественная.

Proofs:

https://gitlab.freedesktop.org/mesa/mesa/-/issues/10223

https://gitlab.freedesktop.org/drm/amd/-/issues/3195

Если ничего не путаю, у меня на десктопной RX 6800 даже вентиляторы периодически включались при использовании аппаратного декодирования видео. Видимо, не очень оно эффективно сделано.

anonymous
()

Почему

Потому что он спроектирован таким образом. У AMD никогда не было упора на экономичность, это денег стоит, а политика AMD это продать дешевле чем у конкурентов. Если AMD будут делать упор на экономичность, то им придется повышать цены и они проиграют конкурентам.

vbcnthfkmnth123 ★★★★★
()
Ответ на: комментарий от vbcnthfkmnth123

У AMD никогда не было упора на экономичность

Тем не менее, их десктопные процессоры почему-то часто энергоэффективнее.

дешевле

Тебе лучше не смотреть на цены AM5 тогда.

anonymous
()
Ответ на: комментарий от anonymous

Тем не менее, их десктопные процессоры почему-то часто энергоэффективнее.

Если я не ошибаюсь то энергоэффективные они под нагрузкой. А вот при простое уже не особо, из-за архитектуры. А вот теже Intel Core M имеют TDP 4.5 W, тогда как у AMD обычно были не меньше 15 W, и вот только недавно появились у которых TDP около 5 W (Steam Deck как пример).

V1KT0P ★★
()
Ответ на: комментарий от V1KT0P

Если я не ошибаюсь то энергоэффективные они под нагрузкой

Да, за исключением G-моделей, которые пришли с ноутбуков, и по десктопным меркам достаточно эффективно простаивают.

anonymous
()
Ответ на: комментарий от anonymous

Тем не менее, их десктопные процессоры почему-то часто энергоэффективнее.

У среднего пользователя процессор 99% времени простаивает.

Это 5-6W для ADL/RPL и 20-35W для Zen3/4 CPUs. Насчёт APUs не в курсе - надо посмотреть, что там с 8500G/8600G/8700G.

Энергоэффективность у AMD при максимальной нагрузке за счёт тех процесса TSMC.

У Intel до сих пор не получается.

tempuser003
() автор топика

В простое 6200U сидит примерно на 0.45W, 7840HS примерно 0.8W, т.е. разница несущественная.

  1. У меня на Ryzen 3550H тоже где-то 0.8w в простое.

  2. Возможно в ноуте с Intel работает Panal Self Refresh (PSR), SoC отключается пока картинка не меняется. А например у меня этой штуки нету:

sudo cat /sys/kernel/debug/dri/0/eDP-1/psr_capability
Sink support: no
Driver support: no [0xffffffff]
  1. Про декодинг видео в браузере подтвержу, измерял потребление, никаких преимущество перед программным декоднигом.

Core i5 6200U на 14nm тратит для декодирования 1080p 60fps H.264 в Firefox 3.5W

Это ты под Linux тестировал?

Aber ★★★★★
()
Ответ на: комментарий от Aber

7840HS

cat /sys/kernel/debug/dri/1/eDP-1/psr_capability 
Sink support: yes [0x03]
Driver support: yes

cat /sys/kernel/debug/dri/1/eDP-1/psr_state 
0

Есть, но выключено. Хм. Почему?

В драйвере Xorg ничего такого нет. В драйвере ядра:

modinfo amdgpu  | grep -i psr
parm:           visualconfirm:Visual confirm (0 = off (default), 1 = MPO, 5 = PSR) (uint)

Надо почитать. Это не то.

При загрузке вижу такое: [drm] PSR support 1, DC PSR ver 0, sink PSR ver 3 DPCD caps 0x3a su_y_granularity 4 - хз что это значит.

Это ты под Linux тестировал?

Да.

tempuser003
() автор топика
Последнее исправление: tempuser003 (всего исправлений: 4)
Ответ на: комментарий от tempuser003

watts cpu для APU показывает полную хрень.

Он читает GPU через sensors а СPU - через turbostat.

Но PckgWatts для APU которым является 7840HS - это потребление всего кристалла то есть смуммарное CPU+GPU.

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

Qui-Gon ★★★★★
()

У AMD хуже потребление в простое. Однозначно. Возможно это линуксовые частично проблемы - интел вот родил специфический cpuidle драйвер с поддержкой десятка PC-states разной глубины, а АМД по прежнему сидит с ACPI убожеством C1-C2-C3.

И видеодекодеры у АМД хуже. Правда надо сказать видеодекодеры у интел - сильно лучше чем и у нвидии и у амд. Видимо сказывается что интел это разрабатывал под ноуты, а АМД и Нвидия перетащили свои решения с десктопных дискреток где на плюс-минус пару-тройку ватт всем насрать.

Но у АМД свои преимущества - вся поддержка в Mesa и не надо ставить дополнительные драйвера и библиотеки с блобом для декодирования видео.

Qui-Gon ★★★★★
()
Последнее исправление: Qui-Gon (всего исправлений: 1)

а новый навороченный <…> жрёт <…> примерно в 4 раза больше?

Энергосбережение в 3d-движке, видать, криво в драйвере реализовано, и 3d-железо не уходит в сон, а крутится на минималках. В драйвере Intel была аналогичная проблема года три назад. Там тоже включаешь что-нибудь использующее 3d, даже просто вывод двух треугольников с текстурой для масштабирования видео, и сразу бам, скачок в энергопотреблении, из-за которого смысл в аппаратном декодере пропадает. Со временем починили, и теперь всё хорошо. Тут тоже починят, со временем.

i-rinat ★★★★★
()
Ответ на: комментарий от Qui-Gon

А, ну окей. Никогда не вникал. На Intel оно только один раз привлекло моё внимание — у Skylake были дикие задержки при переключении состояний. В кофейниках уже пофиксили нормально, можно было не дёргать governor.

anonymous
()
Ответ на: комментарий от anonymous

Ну главный факт который я увы выяснил - ноут что на интел что на амд на батарее живет 5-6 часов. Если смотреть ютуб в броузере и что-то еще делать - ну то что называется офисным использованием. Без игорей и пересборки генту. Если ноут включить вывести статическую картинку и ничего не трогать - сильно выиграет интел. Если запустить перекомпиляцию мира в генте - то сильно выиграет амд. А вот если не выё*** а просто использовать ноут по назначению - то както пофиг.

Qui-Gon ★★★★★
()
Ответ на: комментарий от tempuser003

В Windows лучше, но не сильно. Ну если верить буржуйским комментам а баге - то сильно.

Еще таки рекомендую отметить тот факт что во времена скайлейков 6200U экран FHD считался топом. В машинках на 7840 мы имеем 2.8К, 3К, 4К. Это на самом деле тоже очень мощный фактор.

Qui-Gon ★★★★★
()
Ответ на: комментарий от Qui-Gon

watts cpu для APU показывает полную хрень

Он показывает 100% верные данные, которые подтверждены Ryzen Master и HWinfo64 в Windows.

Интерфейс, который он использует - это Package Power, который стандартизирован между Intel и AMD.

Я в ЧС заношу только дебилов, конспирологов и прочих людей с альтернативной реальностью, и я в очередной раз в этом убедился.

Удачи.

tempuser003
() автор топика
Ответ на: комментарий от tempuser003

Потребление APU = CPU+GPU. А этот скрипт показывает это потребление 2 раза. Разделить что из этого уходит на CPU, что на GPU а что на uncore - нереально. У интела такой функционал есть, у AMD - под линуксом по крайней мере - нет. Только общее потребление кристалла.

Для интела есть чудесная утилита i7z - которой сто лет , но она по крайней мере до 11-го поколения работала отлично. Наверное и сейчас работает - но проверить не на чем, после tigerlake я перешел на красных.

Qui-Gon ★★★★★
()
Последнее исправление: Qui-Gon (всего исправлений: 1)

У меня карточка 7900XTX отжирала 60-100Вт просто по факту того, что подключено два больших монитора. Исправили с год назад, теперь потребляет 10Вт в простое, счииаю что достаточно хорошо для 400Вт карты. Может и за интеграшки когда-нибудь возьмутся

А в случае с новыми рузенами большое потребление в простое это видимо фича - например потребление 7900X практически не падает ниже 35Вт. Нехорошо, но для десктопного камня сойдет.

melkor217 ★★★★★
()
Ответ на: комментарий от Qui-Gon

Package Power считается для всего кристалла APU.

Хватит нести пургу.

turbostat работает для всех железок, которые предоставляют этот интерфейс.

Ваша устарелая i7z не вср алась.

Я только что написал, что данные turbostat подтверждают Ryzen Master от AMD и HWiNFO64, а что есть у вас?

IMHO? В Линукс нет другого официального интерфейса для считывания этих данных. Есть https://gitlab.com/leogx9r/ryzen_smu , но его компилить надо.

Вы пробовали? Или несёте пургу дальше?

И да, показания Package Power в нём совпадают с выводом turbostat.

Желание что-то сломать возникает, общаясь с фанатами свободы. Настолько фанаты, что живут в параллельном мире.

tempuser003
() автор топика
Последнее исправление: tempuser003 (всего исправлений: 1)
Ответ на: комментарий от melkor217

по моим надблюдениям сами ядра не особо много жрут. Но скажем насильное отправление интеграшки в режим low через

echo «low» > /sys/class/drm/card0/device/power_dpm_force_performance_level

существенно улучшает ситуацию, в том числе и с энергопотреблением при декодировании видео - причем этого low хватает за глаза для декодирования и композитора и webrender в лисе. А вот при автоматике вынь да положь плюс пару ватт.

Qui-Gon ★★★★★
()
Ответ на: комментарий от tempuser003

ваш долгоскрипт у меня при ограничении TDP в 10 ватт показывает 9 ватт CPU и 9 ватт GPU. Это при компиляции freeCAD и никакой нагрузке на GPU , при этом батарея показывает 16 ватт тотального потребления.

Итак для клоунов - 9 ватт + 9 ватт = 18. Но у батареи 16. При этом еще включен 4G модем в USB, и 3К AMOLED тоже что-то жрет на светлой теме и 50% яркости. Ну там еще SSD, подсветка клавы. Bluetooth. Это либо заявка на нобелевскую премию за вечный двигатель, либо заявка на справку дебила. Учитывая что с вечными двигателями за несколько столетий не сложилось - выводы делайте сами. Прежде чем дядькам из АМД корявые багрепорты писать.

Там действительно есть проблемы с оптимизацией, но другого порядка. Во первых неоптимальная железка - скорее всего - но это неточно - декодирование идет в немалой степени через фирмварь и дергает основные вычислительные ядра GPU, отчего идет буст частоты. Косвенно подтверждается тем что зафорсив GPU в low портебление на декодирование заметно снижается. У интела же полностью независимый модуль- опять же косвенно, интеловский gputop показывает загрузку графических ядер и видеодекодера отдельно, у radeontop такого разделения нет.

Второй момент - у АМД как-то все плохо с PSR. Оно вроде как есть, и supported, и enabled - но если смотреть residency ( в новых ядрах это можно )- то на некоторых ноутах все грустно. Интел с PSR основные баги закрыл лет несколько назад. Иногда наоборот - PSR включается но при этом лезут зависания и артефакты и его приходится блэклистить для отдельных матриц или отключать в настройках. Причем там отключение неявное через dcdebugmask или featuremsk - то есть выполнив инструкцию по устранению проблемы по форумным рекомендациям не каждый юзер понимает что он сделал.

Qui-Gon ★★★★★
()
Ответ на: комментарий от tempuser003

Для 7840HS примерно нулевая разница.

Значит в конретном ноуте просто хороший биос. Но если измерялось долбоскриптом - то не эксперимент неточен. Открываем одно и тоже видео, в один размер, одна яркость. Измерять powerstat или top - по батарее. И кидать туда auto и low. У меня разница была 1-2 ватта - на 6800Н, 6800U и 7840S. 1-2 ватта - это скажем 12 и 11, 12 и 10 при ютубовском видосе av1 1080 в окне(не полноэкран). Ну да - не в разы. И это не потребление процессора - а потребление железки в целом.

Qui-Gon ★★★★★
()
Ответ на: комментарий от vbcnthfkmnth123

AMD никогда не было упора на экономичность

Поэтому десктопы Интел пробивают уверенно и 200W, и 250, а AMD близкой производительности на скромные 150-175 живут в худшем сценарии

One ★★★★★
()
Ответ на: комментарий от Qui-Gon

Косвенно подтверждается тем что зафорсив GPU в low портебление на декодирование заметно снижается.

UVD точно был программируемым dsp на базе Xtensa.
Не удивлюсь, если VCN тоже.
Еще - возможно, что зафорсив частоту gpu ты одновременно снижаешь частоту и питание блока vcn.

Еще из памяти:
https://images.anandtech.com/doci/9319/Slide 14 - Video Playback Processing P...
https://images.anandtech.com/doci/9319/Slide 16 - UVD 4x Bandwidth.png

devl547 ★★★★★
()
Ответ на: комментарий от anonymous

Которые странно много жрут?
По price/perf они очень вкусные сейчас.
А драйвера - мммм, любителям amdшного раскрытия и finewine придутся по вкусу. Просто надо немного подождать)

devl547 ★★★★★
()
Ответ на: комментарий от Qui-Gon

Песец, не разобрался, написал стену бреда.

Package Power - это для всего APU и оно всегда верное.

GPU Power берётся из вывода sensors и там жестокая отсебятина - складывать их нельзя.

https://gitlab.freedesktop.org/drm/amd/-/issues/3009

GPU кусок APU, судя по всему, не имеет правильного датчика потребления - проверял с HWiNFO64.

Скрипт работает, <мат>. Вывод потребления GPU я написал на фоне появления его в sensors. Надо убрать, чтобы меня не мучали. Я не виноват, что в AMD это не реализовали.

tempuser003
() автор топика
Ответ на: комментарий от tempuser003

Для PSR я обычно гоняю такой скрипт

#!/bin/bash while true do

cat /sys/kernel/debug/dri/0/eDP-1/psr_state >> /usr/tmp/psr.log sleep 5

done

У amd psr_state берется в моменте - а когда что-то запускаешь теребишь кнопки печатаешь текст - система может выходить из PSR. Поэтому запускаешь скрипт - не трогать ничего минутку и посмотреть лог. Если там одни нули - то вот оно почему amd столько жрет в простое. Попробуй на скайлейке PSR отключить - тоже будет не очень.

psr_residency тоже надо смотреть несколько раз подряд. Оно там копится - сбрасывается, копится-сбрасывается.

Qui-Gon ★★★★★
()

В простое 6200U сидит примерно на 0.45W, 7840HS примерно 0.8W, т.е. разница несущественная.

Нет, вы пжлст сравните топовый проц штуеда с топовым амуде, а сейчас вы сравниваете огрызок с топом и жалуетесь что у вас там жор чрезмерный

user13
()