08/04/2009 - 04:44 [S_A_V]Программное управление напряжениями GPU и памяти на видеокартах Asus серии Matrix

Matrix - так названа серия видеокарт производства Asus, которая отличается нереференсным дизайном и тихим, но эффективным охлаждением. И, конечно же, сильно завышенной ценой. Но меня заинтересовало то, что видеокарты данной серии имеют возможность программного управления напряжением на графическом чипе и памяти, то есть так называемый "софтвольтмод". Это стало возможным благодаря применению специального контроллера на PCB и программе Asus iTracker, управляющей этим контроллером прямо из операционной системы. На данный момент последняя версия (1.06 beta) программы Asus iTracker поддерживает следующие модели видеокарт серии Matrix:

·         Asus EN9600GT MATRIX/HTDI/512M (GeForce 9600GT);

·         Asus EN9800GT MATRIX/HTDI/512M (GeForce 9800GT);

·         Asus EAH4850 MATRIX/HTDI/512M (Radeon HD4850);

·         Asus EAH4870 MATRIX/HTDI/512MD5 (Radeon HD4870);

Чтобы проверить, насколько пригодна для бенчамаркинга реализация софтвольтмода в этих видеокартах, я выбрал Asus EN9800GT/MATRIX. По умолчанию у нее напряжение на GPU было установлено равым 1.2V, а на памяти около 1.9V (здесь и далее я привожу напряжения только для 3D режима, так как что происходит в 2D и насколько это экономит электроэнергию при использовании 24/7, нас как бенчеров, совершенно не интересует). Сразу же при попытке установить программу Asus iTracker на бенчерской системе я обнаружил требование наличия .NET Framework. Пришлось перезагружаться в рабочую систему и все тесты проводить в ней. Это первый из обнаруженных минусов, но, к сожалению, не последний. Установив программу, я обнаружил ограничение в графическом интерфейсе. Максимальное напряжение, которое можно было выставить – всего лишь 1.40V на графический чип и 2.00V на память. Для повседневного использования этого может кому-то и достаточно, но для бенчмаркинга это ОЧЕНЬ мало. Даже с водяным охлаждением GPU G92 вполне спокойно переносит до 1.60V, при условии, что нас не сдерживают никакие защиты типа OCP или OVP. Покопавшись в реестре, я нашел ветку [HKEY_LOCAL_MACHINE\SOFTWARE\ASUS\iTracker\Setting], через ключи в которой можно было выставить любые нужные нам значения:

"User_1 3D GPU Voltage"=dword:xxxxxxxx

"User_1 3D Memory Voltage"=dword:xxxxxxxx

"User_2 3D GPU Voltage"=dword:xxxxxxxx

"User_2 3D Memory Voltage"=dword:xxxxxxxx

"User_3 3D GPU Voltage"=dword:xxxxxxxx

"User_3 3D Memory Voltage"=dword:xxxxxxxx

1, 2, 3 – номер профиля в Asus iTracker.  xxxxxxxx – напряжение в шестнадцатеричном формате и без дробной части. Например: 00000780 = 1920 = 1.920V или 0000047e = 1150 = 1.150V.

Но это не помогло, так как при попытке установить (независимо от способа - как через интерфейс программы, так и через ключи реестра) на GPU больше 1.30V карта уходила в черный экран, и система переставала работать. Не знаю в чем причина такого поведения карты. Похоже на срабатывание защиты, установленной в Asus на эти карты. Но в таком случае, зачем было устанавливать порог срабатывания (1.30V) ниже, чем значение, доступное для установки в самой программе (1.40V)? В любом случае стало ясно, что выставить нормальное для бенчинга напряжение на этой карте не получится.

Но это еще не все обнаруженные проблемы. Программа iTracker сама прописывается в автозагрузку и при старте системы загружает (восстанавливает) все параметры, которые были установлены в прошлый раз, в том числе и напряжения. И если выставить напряжение на GPU выше 1.30V, то после зависания и вынужденной перезагрузки, iTracker при следующем старте снова выставит это напряжение и система снова повиснет. Приходилось грузить другую систему и из неё временно убирать или переименовывать файл iTracker.exe, чтобы загрузив "поврежденную", предотвратить её "падение". Либо попытаться успеть снять процесс  iTracker.exe еще до момента применения им настроек.

Бенчи пришлось провести с напряжениями Vgpu=1.28V и Vmem=2.10V. На проточной воде GPU разогнался всего лишь до частот 771-783 MHz, что очень мало. А память порадовала, её разгон находился в районе 2500 MHz, то есть выше, чем у других видеокарт GeForce 9800GT.

Результаты получились следующие:

·         Aquamark3 – 305467;

·         3DMark2001SE – 85485;

·         3DMark03 – 50593;

·         3DMark05 – 31647;

·         3DMark06 – 18336;

·         3DMark Vantage – 8277;

Рекорд среди GeForce 9800GT в 3DMark05, 3DMark06 и 3DMark Vantage получился только за счет процессора Core i7-920, работавшего на частотах 4200-4600 MHz. Третье место в Aquamark3 тоже вытянуто процессором. 3DMark2001SE провален процессором (в нём вообще на Core i7 получаются плохие результаты по сравнению с Core 2 Duo), а 3DMark03 провален низкой частотой GPU на видеокарте.

Какой можно сделать вывод? Отличная идея оказалась загублена отвратительной реализацией. Если бы Asus на картах серии Matrix смогла сделать возможным установку напряжений от 1.60V и выше на GPU и 2.20V-2.30V на память, то они были бы вне конкуренции. А пока получается, что проще взять тот же нереференсный Palit (9800GT/9800GTX+/GTS250 – у них один дизайн), нарисовать ему 1.60V карандашом (а заодно и OCP-mod – тоже карандашом) и отбенчить на воде с частотой около 900MHz.

        К полюсам Asus EN9800GT/MATRIX можно отнести только отличный разгон видеопамяти (~2500 MHz), а так же поддержку 3-Way SLI (на всех видеокартах GeForce 9800GT, кроме Asus, я встречал только модели с одним разъёмом для SLI-мостика, то есть возможностью соединения в SLI не более двух карт).