Hardware,  Статьи

О разгоне и разблокировке старых видеокарт AMD

В 2012-2014 годах компанией AMD выпускались различные 28-нм видеокарты с GPU на архитектуре GCN 1.0 (Tahiti, Pitcairn, Cape Verde, Oland и Malta):

https://upload.wikimedia.org/wikipedia/commons/thumb/9/99/GCN_command_processing.svg/1024px-GCN_command_processing.svg.png?1649410123008

Они способны производить компьютерные вычисления с помощью технологии OpenCL версии 1.2.

Благодаря этому на них до сих пор можно использовать некоторые майнеры, например, xmrig, verthashminer, sgminer и некоторые другие.

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

Например, выпускались полноценные видеокарты Radeon HD 8670 / R7 250/350 с ядром Oland XT/Oland, имеющие 384 шейдера, а также урезанные модели графических ускорителей (320 шейдеров) — Radeon HD 8570 / R7 240/340 OEM с ядром Oland/Oland Pro. Производительность видеокарт с неразблокированными units в теории меньше на 16%. Учитывая итак слабенькую производительность этих карт, имеет смысл поиграться с разблокировкой отключенных блоков.

Видеокарта Radeon R7 240 (HD8570) с 384 шейдерами:

Похожая видеокарта с 320 shaders:

Обзор и тестирование видеокарты ASUS R7250-OC-2GD3

Видеокарты Radeon HD 8670 и Radeon HD8570 от разных производителей:

При майнинге на схожих видеокартах разница в хешрейте может быть довольно значительной не только из-за отключенных вычислительных блоков, но и из-за различий в частоте ядра и производительности памяти (например, у видеокарт с DDR3-памятью производительность VRAM значительно хуже, чем у моделей с GDDR5-й памятью).

Хешрейт видеокарт Radeon HD8570 (cl_device 2), HD 8670 (cl_device 1) и R7 M465X (GPU 0) при майнинге на алгоритме verthash:

В приведенном на картинке примере хешрейт видеокарты Radeon HD8570 на алгоритме verthash составляет примерно 38 kH/s, а Radeon HD 8670 — 73 kH/s (разница на 48%). При этом у них используются одинаковые GPU с 384-я шейдерными блоками, но у более производительной карты 128-битная VRAM (2 GB), а у «слабенькой» — 64-битная память (тоже 2 GB).

Как разблокировать неиспользуемые шейдерные ядра на видеокартах AMD?

Для получения большей производительности видеокарт с неразблокированным ядром нужно использовать программы, позволяющие осуществлять извлечение, редактирование и запись BIOS видеокарт AMD.

Извлечь BIOS из видеокарты на компьютере под Windows/Linux можно с помощью программы GPU-Z или AMD VBFlash / ATI ATIFlash.

Узнать номер нужного графического адаптера в системе можно командой

amdvbflash -i

Программа выдаст информацию, похожую на следующую:

AMDVBFLASH version 4.71, Copyright (c) 2020 Advanced Micro Devices, Inc.

adapter seg bn dn dID asic flash romsize test bios p/n

======= ==== == == ==== =============== ============== ======= ====

0 0000 01 00 67B0 Hawaii M25P10/c 20000 pass 113-C6710100-O05

1 0000 02 00 682B Verde GD25Q10TCP 20000 pass 113-TIC24461-001

2 0000 03 00 6611 Oland M25P10/c 20000 pass 113-1E24800-F04

3 0000 05 00 67B1 Hawaii M25P10/c 20000 pass 113-E285HOC-U002

4 0000 06 00 6610 Oland MX25L1005 20000 pass 113-C8700100-104

В данном случае на компьютере установлены видеокарты с номерами 2 и 4 (AMD Radeon R7 240 и AMD Radeon R5 340x), которые имеют ядра Oland. ID устройств равны 6611 и 6610, заводские номера 113-1E24800-F04 и 113-C8700100-104 соответственно.

Теоретически можно попробовать прошить BIOS от четвертой карты во вторую, получив неплохой прирост производительности. Перед этим нужно обязательно внимательно изучить BIOS (ШИМ-контроллер, вольтажи, частоты ядра и памяти, а также TDP видеокарт).

Скачивание микропрограммы BIOS с видеокарты в программе amdvbflash производится командой:

amdvbflash -s 2 oland.rom

в xubuntu используется следующий синтаксис:

sudo ./amdvbflash -s 2 oland.rom

где 2 — номер видеокарты, а oland.rom — название файла сохраняемого BIOS.

Программа выдаст следующее сообщение:

AMDVBFLASH version 4.71, Copyright (c) 2020 Advanced Micro Devices, Inc.

0x20000 bytes saved, checksum = 0xAFBF

и сохранит файл BIOS в тот же каталог, где она находится:

Для другой (в данном случае четвертой) видеокарты производится аналогичная операция командой

sudo ./amdvbflash -s 4 olandxt.rom

Для поиска BIOS с разблокированными ядрами можно воспользоваться базой данных на сайте Techpowerup.

Увеличить производительность видеокарты можно и без разблокировки ядер, просто увеличив в BIOS в разумных пределах частоту ядра и памяти, а также модифицировав режим работы вентилятора.

Видеокарта АМД Radeon R7 240 с увеличенными в BIOS частотами ядра и памяти:

Эта модель имеет в два раза большую производительность на алгоритме verthash благодаря использованию 128-битной шины DDR3-памяти.

Карта R5 340X с тем же GPU, но 64-битной памятью демонстрирует в два раза меньший хешрейт:

Для редактирования BIOS видеокарт AMD Radeon с GPU Graphics Core Next 1 в Windows можно использовать программу VBE7 (нужно учитывать, что она не поддерживает UEFI BIOS). Утилита позволяет изменить частоту и вольтаж ядра и памяти, лимит потребления и некоторые другие параметры. Например, в случае прошивки BIOS от более мощной видеокарты на плату с меньшим количеством фаз VRM, стоит уменьшить вольтаж/TDP и частоту ядра.

При использовании стороннего файла BIOS в программе VBE7.0.0.7b нужно проверить соответствие применяемого ШИМ-контроллера (в данном случае up1801) и производителя памяти. Если имеются большие расхождения, то видеокарта с таким BIOS скорее всего не заработает.

В данном случае, после прошивки BIOS от R5 340x на видеокарту HD8570, последняя работать отказалась.

На вкладке PowerPlay можно проверить/подкорректировать значения частоты и вольтажа видеокарты:

Вкладка OverDrive&Power Tune позволяет изменить максимальную частоту памяти и ядра видеокарты, а также лимит TDP (при слабом VRM его лучше уменьшить).

Если видеокарта будет использоваться для майнинга, то желательно изменить профиль работы вентилятора системы охлаждения на вкладке Fan Profile, установив минимальное значение скорости вращения вентиляторов на 40-50%, а после достижения температуры 56-65 градусов — на 100%.

Исходный режим работы системы охлаждения:

Режим работы вентилятора системы охлаждения видеокарты, более подходящий для майнинга:

Прошивка альтернативного BIOS (в данном случае с названием olandxt.rom) производится командой:

amdvbflash -f -p 2 olandxt.rom

После перезагрузки видеокарта с удачно прошитым BIOS-ом будет определяться системой и радовать пользователя повышенной производительностью.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

English English Русский Русский