The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Описание работы динамического управления питанием видеокарт ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от opennews (ok) on 15-Июл-13, 22:07 
Алекс Дойчер (Alex Deucher), разработчик из компании AMD, опубликовал (http://www.botchco.com/agd5f/?p=57) заметку о том, как работает новый код (http://www.opennet.me/opennews/art.shtml?num=37288) динамического управления питанием для видеокарт семейства Radeon.


Отмечается, что в целом управление питанием на картах Radeon сводится к тому, что в vbios зашиты таблицы состояний управления питанием (power states). Каждое состояние управления питанием состоит из нескольких различных уровней производительности (performance levels). Уровень производительности в конечном итоге сводится к установке некоторой комбинации частот и напряжений питания. Когда выбрано некоторое состояние питания, аппаратное обеспечение автоматически переключает различые уровни производительности на основании уровня нагрузки на GPU.


Состояния управления питанием характеризуют некий относительно высокоуровневый сценарий использования, актуальный в текущей ситуации. Например "работа от батареи" ("battery") или "ориентация на максимальную производительность" ("performance"). Существуют также дополнительные внутренние состояния для UVD и событий, касающихся перегрева GPU. Кроме состояний питания, драйвер также управляет отключением тактовых сигналов (clock gating), а для некоторых чипов обеспечивает и полное отключение блоков (power gating). Разработчик также приводит пример состояний для мобильного APU.

URL: http://www.botchco.com/agd5f/
Новость: http://www.opennet.me/opennews/art.shtml?num=37426

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Описание работы динамического управления питанием видеокарт ..."  +4 +/
Сообщение от commiethebeastie (ok) on 15-Июл-13, 22:07 
Новое управление питание очень четко работает для серии 6xxx. Я был весьма удивлен. Надеюсь для апушек допилили.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 15-Июл-13, 22:54 
Его до мержинга в -rc1 даже пару раз фиксили по мелочи.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

15. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 16-Июл-13, 14:44 
Также имею честь подтвердить для HD5xxx - работает изумительно. GPU валит на повышенную частоту при малейшей нагрузке, однако без нагрузки сидит на минимуме. И никаких вам мерцаний при изменениии частот. Красота!
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 15-Июл-13, 22:20 
интересно а в чем конкретно была засада раньше, когда пытались реверс-инженерить это дело.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Описание работы динамического управления питанием видеокарт ..."  –2 +/
Сообщение от 123 (??) on 15-Июл-13, 22:25 
Такие параметры экспериментальным путем выясняют. BLOB тяжко реверсить.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

9. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 15-Июл-13, 23:58 
Какие "такие"? Значения напряжений и частот в каждом из состояний? Да пожалуйста, берите тулзу RBE и смотрите/правьте.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

27. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 17-Июл-13, 00:43 
> берите тулзу RBE и смотрите/правьте.

Проблема только в том что каждый производитель сие прописывает в меру своей дури. При том иногда дурь имеет вполне техническое подкрепление (радиатор побольше - максимальные частоты повыше, сэкономили на радиаторе - урезали частоты, etc).

Отрихтовать таблицы самому - это уже для тех кто понимает что он делает. И понимает что вписывание туда абы чего может видяху попросту угробить.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

7. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 15-Июл-13, 23:10 
> интересно а в чем конкретно была засада раньше, когда пытались реверс-инженерить это дело.

Засада в том что
1) Достаточно навороченные наборы состояний.
2) Каждый производитель GPU пишет таблицы в меру своей дурости и они у всех разные.
3) Не все производители заполняют все состояния.
4) У старых GPU сие вроде как несколько отличается.

В результате амдшникам пришлось существенное перепилить все это дело с учетом фактических реалий.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Описание работы динамического управления питанием видеокарт ..."  +1 +/
Сообщение от a (??) on 15-Июл-13, 22:26 
А тем временем с момента последнего релиза каталиста прошло 84 дня.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Описание работы динамического управления питанием видеокарт ..."  +2 +/
Сообщение от Fyjybv on 15-Июл-13, 22:46 
А по-моему это ваше amd давно дало понять, что новый открытый драйвер для них приоритетнее. А не открыли старый из-за того, что его проще переписать, чем поддерживать.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Описание работы динамического управления питанием видеокарт ..."  +2 +/
Сообщение от Аноним (??) on 15-Июл-13, 23:12 
> А по-моему это ваше amd давно дало понять, что новый открытый драйвер
> для них приоритетнее.

Клиентура не желает возиться с блобами, по большому счету. Особенно те кому надо вычисления и прочая. А поскольку у амд вычисления на GPU с учетом архитектуры задумана как сильная сторона - довольно странно было бы пичкать клиентуру кактусами против их желания.

Тем более что китайцы помнится показали нвидии смачный фак на полмиллиарда баксов т.к. их блоб оказывается под MIPS вообще не собирается. А вот у амд с этим думается никаких особых проблем: atom bios изначально задуман платформенно-нейтральным, драйверу тоже не сильно большая разница где и что.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

11. "Описание работы динамического управления питанием видеокарт ..."  –3 +/
Сообщение от Аноним (??) on 16-Июл-13, 07:42 
Какая внезапность. Двоичный драйвер для х86 не работает на МИПС. Кто бы мог подумать.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

16. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 16-Июл-13, 14:46 
> Какая внезапность.

Ну а вот у китайцев - миллионы машин на основе MIPS в сфере образования и прочая. Кто бы мог подумать?

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

19. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 16-Июл-13, 16:17 
>> Какая внезапность.
> Ну а вот у китайцев - миллионы машин на основе MIPS в
> сфере образования и прочая. Кто бы мог подумать?

И чо? Это голубая пичаль китайцев так-то.

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

20. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 16-Июл-13, 19:33 
> И чо? Это голубая пичаль китайцев так-то.

Китайцы готовы платить звонкой монетой. Поэтому большой вопрос у кого в результате будет печаль. Плох тот капиталист который кладет х... на миллионую клиентуру.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21. "Описание работы динамического управления питанием видеокарт ..."  –1 +/
Сообщение от Фтщтнь on 16-Июл-13, 21:03 
> А по-моему это ваше amd давно дало понять, что новый открытый драйвер
> для них приоритетнее. А не открыли старый из-за того, что его
> проще переписать, чем поддерживать.

Все гораздо проще, в свете не очень хорошего финансового состояния AMD, им проще разрабатывать драйвера за счет сообщества.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

32. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 19-Июл-13, 00:28 
Если и приоритетнее, то только по одной причине: можно слать патчи раз в полгода и некому будет ныть "а пачиму вы драйвер не выпускаете???".
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

10. "Описание работы динамического управления питанием видеокарт ..."  –1 +/
Сообщение от Аноним (??) on 16-Июл-13, 00:52 
47 с момента беты.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

13. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 16-Июл-13, 11:21 
Оговорка по Тихоокеанскому рубежу ? =) Сегодня мы остановим проприетарщину, сегодня опенсорс начнет последнюю битву !
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

14. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 16-Июл-13, 13:29 
Никаких оговорок. AMD не разрабатывает проприетарный драйвер и изредка высылает патчи в открытый. Действительно, образец поддержки своих клиентов.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

17. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 16-Июл-13, 14:47 
> открытый. Действительно, образец поддержки своих клиентов.

В данном случае они сделали ровно то что от них хотели. Алилуйя, теперь у радеонов отличное управление питанием.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

12. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от linvinus on 16-Июл-13, 11:15 
Кто нибудь ещё тестил?
у меня на ноуте карта серии 4xxx.
большой разницы не заметил.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 16-Июл-13, 15:14 
> Кто нибудь ещё тестил?

Я тестил. На десктопном HD5xxx работает изумительно. Температура GPU сама понижается на 10 градусов относительно загрузки "все по дефолту". А при малейшей нагрузке GPU лезет по частотам вверх - скорость 3D операций не пострадала.

> у меня на ноуте карта серии 4xxx.
> большой разницы не заметил.

Вы ядру скомандовали radeon.dpm=1 в командлайне? Если да - покажите dmesg, в месте где идет вывод такого добра:

[   4.112767] == power state 0 ==
[    4.112769]     ui class: none
[    4.112771]     internal class: boot
[    4.112773]     caps: video
.... (для всех режимов)

Там же написано и какой power state был при загрузке и на какой драйвер изволил переключиться опосля.

Понаблюдать за щелканием частотами можно как-то так:
while (true) do cat /sys/kernel/debug/dri/0/radeon_pm_info; sleep 2; done;

Температуру GPU можно посмотреть в файлике типа
/sys/class/drm/card0/device/hwmon/hwmon3/temp1_input

Если кажется что текущий power state вам не по вкусу, переключиться на другой можно наэхав нужный в файлик типа /sys/class/drm/card0/device/power_dpm_state

Если карточка не первая в системе то /0/ и /card0/ придется заменить на фактические значения. А hwmon3 - это в моей системе. В других может отличаться. А еще при активном композитинге и прочая - GPU может лезть вверх и от активного вывода на терминал - потому и задержка в 2 сек присобачена.

В целом наблюдения за работой фичи произвели весьма и весьма позитивное впечатление пока-что.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

23. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от linvinus on 16-Июл-13, 23:09 
прошу прощения, промахнулся, мой ответ ниже.
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

24. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от linvinus on 16-Июл-13, 23:10 
> прошу прощения, промахнулся, мой ответ ниже.

и ещё

cat /sys/kernel/debug/dri/0/radeon_pm_info
Debugfs support not implemented for this asic

чтобы это значило? гугл молчит

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

26. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 17-Июл-13, 00:41 
> Debugfs support not implemented for this asic
> чтобы это значило? гугл молчит

То что для данного чипа статистика в драйвере не реализована :(. По логике вещей это баг. Хоть простому смертному и не нужны эти цифры, но все-таки...

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

31. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от anoser_anon on 18-Июл-13, 08:12 
http://cgit.freedesktop.org/~agd5f/linux/commit/?h=drm-fixes...

добавили

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

22. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от linvinus on 16-Июл-13, 23:08 
Спасибо что откликнулись.
каталог /sys/class/drm/card0/device/hwmon у меня отсутствует
всё делал как описано в статье.
температуру меряю по показателям процессора, он у меня на одной медной шине с видеокартой.
при включении echo "battery" > /sys/class/drm/card0/device/power_dpm_state
температура падает на 1 градус.

[    2.301263] == power state 0 ==
[    2.301266]     ui class: none
[    2.301268]     internal class: boot
[    2.301271]     caps: video
[    2.301274]     uvd    vclk: 0 dclk: 0
[    2.301276]         power level 0    sclk: 50000 vddc_index: 2
[    2.301278]         power level 1    sclk: 50000 vddc_index: 2
[    2.301279]     status: c r b
[    2.301282] == power state 1 ==
[    2.301284]     ui class: performance
[    2.301285]     internal class: none
[    2.301287]     caps: video
[    2.301290]     uvd    vclk: 0 dclk: 0
[    2.301291]         power level 0    sclk: 50000 vddc_index: 2
[    2.301293]         power level 1    sclk: 50000 vddc_index: 2
[    2.301295]     status:
[    2.301296] == power state 2 ==
[    2.301298]     ui class: battery
[    2.301299]     internal class: none
[    2.301301]     caps: video
[    2.301304]     uvd    vclk: 0 dclk: 0
[    2.301305]         power level 0    sclk: 20000 vddc_index: 1
[    2.301307]         power level 1    sclk: 20000 vddc_index: 1
[    2.301309]     status:
[    2.301310] == power state 3 ==
[    2.301312]     ui class: none
[    2.301313]     internal class: uvd
[    2.301315]     caps: video
[    2.301318]     uvd    vclk: 53300 dclk: 40000
[    2.301320]         power level 0    sclk: 50000 vddc_index: 2
[    2.301321]         power level 1    sclk: 50000 vddc_index: 2
[    2.301323]     status:
[    2.301817] switching from power state:
[    2.301820]     ui class: none
[    2.301822]     internal class: boot
[    2.301825]     caps: video
[    2.301827]     uvd    vclk: 0 dclk: 0
[    2.301829]         power level 0    sclk: 50000 vddc_index: 2
[    2.301831]         power level 1    sclk: 50000 vddc_index: 2
[    2.301832]     status: c b
[    2.301835] switching to power state:
[    2.301837]     ui class: performance
[    2.301838]     internal class: none
[    2.301840]     caps: video
[    2.301843]     uvd    vclk: 0 dclk: 0
[    2.301845]         power level 0    sclk: 50000 vddc_index: 2
[    2.301847]         power level 1    sclk: 50000 vddc_index: 2
[    2.301848]     status: r
[    2.306939] [drm] radeon: dpm initialized

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

25. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 17-Июл-13, 00:37 
> Спасибо что откликнулись.

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

> каталог /sys/class/drm/card0/device/hwmon у меня отсутствует
> всё делал как описано в статье.

Это датчик температуры всего лишь. Что-то припоминаю что в 4000 оно может отличаться и/или вообще опциональное, чтоли.

> температуру меряю по показателям процессора, он у меня на одной медной шине с видеокартой.

Достаточно слабая корреляция, думается. Т.е. меряется все-таки в основном температура проца.

> при включении echo "battery" > /sys/class/drm/card0/device/power_dpm_state
> температура падает на 1 градус.

Логично - в battery есть 1 уровень производительности: 200МГц. А в performance - тоже 1, но 500МГц. Логично что на 200МГц видеокарточка кушает меньше. Т.к. до проца как до жирафа - это мало заметно. Но думается батарейку экономит ощутимо (снижается частота в 2.5 раза и понижается напряжение питания).

В целом же сие есть эталонный пример убогого заполнения таблиц состояний питания производителем. Я прямо стесняюсь спросить: а в каталисте то оно чего делает с такими таблицами? Каталист же тоже не волшебник и не имеет права за пределы указанные производителем соваться.

Подозреваю что это изначально задумано производителем довольно деревянно и работает (как минимум в оффтопике) как-то так: пока к ноуту прицеплен адаптер питания, оно жарит на максимуме 500МГц ("pefrormance"). А отцепили адаптер - на 200МГц валит ("battery"). Динамическое масштабирование частоты по нагрузке в такой таблице отсутствует как класс... oO.

Я бы показал эту табличку Дейчеру (на мыло или на форониксе где-нить), думаю грохот кирпичей был бы слышен долго :). Пусть почешет репу что делать с подобным "счастьем" - когда производитель пудак и вообще динамическое масштабирование не заюзал. Реально идиoтское заполнение таблицы. Хотя мало ли, может у этого GPU или конфиги какие-то проблемы если на лету часто переключать частоты, так что производитель был вынужден перейти к такому деревянному сценарию руления питанием. С моей колокольни я могу констатировать крайне печальный набор состояний зашитый в vbios.

Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

28. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от linvinus on 17-Июл-13, 12:31 
>Достаточно слабая корреляция, думается. Т.е. меряется все-таки в основном температура проца.

согласен, но моя цель охладить процессор.
уже через год использования ноута температура процессора под нагрузкой начала подниматься до 100 градусов, так что любое понижение температуры для меня очень актуально.
ноут HP tx2550er
пока помогала периодическая чистка радиатора, но всё равно ноут горячий.

спасибо за консультацию! буду разбираться дальше

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

29. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от Аноним (??) on 17-Июл-13, 15:22 
> согласен, но моя цель охладить процессор.

Тогда загнать в состояние "battery", как вы и сделали. Скорость графики разумеется просядет, но если это не волнует...

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

Баллончик со сжатым воздухом для продувки радиаторов от пыли вам в руки :).

> пока помогала периодическая чистка радиатора, но всё равно ноут горячий.

Ну так это стандартные грабли ноутов - радиатор пылью забивается. Там в целом системы охлаждения хиленькие. Потому что большие системы охлаждения размещать негде, а сильно гнать воздух - соседство с турбиной истребителя пользователям не нравится. Ну вот и получается весьма компромиссное решение: или совсем дохлый процессор, или греется. Чудес не бывает. А т.к. юзается где попало + в мощном ноуте воздух продувать надо все-таки сильно, чтобы не перегревался - оно превращается в мини-пылесос. Ну и забивается кулер пылью в результате.

Если хочется любой ценой температуру скостить - тогда логично проц даунклокнуть, средствами биоса или просто порулить планировщиком в пингвине, например зарезав максимальную частоту (со всеми вытекающими, как то более тормозная работа). Думается начальный radeon кушает шибко меньше чем мощный процессор, особенно на максимуме. Но еще логичнее почистить систему охлаждения, т.к. с номинальными режимами она должна бы все-таки справляться.

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

30. "Описание работы динамического управления питанием видеокарт ..."  +/
Сообщение от linvinus on 17-Июл-13, 22:46 
Да всё так и есть.
Полностью разбираю, вынимаю материнку, снимаю радиатор, чищу, собираю обратно.
проц на 500Mhz, работает firefox без флеша - температура 59-65.
сегодня ещё хард заменил на WD5000LPVT,старый st9160827as грелся сильно, этот тоже греется но ощутимо меньше.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру