Система

GPU, CPU, розгін і зниження напруги

Як SkillFishOS керує частотами, напругами й температурами BC-250 — зі справжніми числами, виміряними на залізі.

На звичайному APU частоти налаштовують через amdgpu у sysfs. На BC-250 це не працює: керування йде через SMU (System Management Unit) і потребує окремих засобів. SkillFishOS містить їх усі, з наперед заданою безпечною кривою та системою теплового захисту.

Увага: Кремнієва лотерея. Кожне число на цій сторінці виміряно на нашій BC-250. Кожен примірник різний: один візьме крутішу криву, інший меншу. Саме тому SkillFishOS стартує з заводською кривою (профіль Performance, стеля 2100 МГц) і дає її змінити через Tuner, який перевіряє кожну криву на вашій платі автоматичним 25-секундним тестом і сам повертається назад, якщо вона не тримає.

Крива напруга/частота і три профілі

крива напруги та частоти в Tuner, з таблицею точок і трьома профілями

Tuner керує графікою кривою напруга/частота: МГц по горизонталі, мілівольти по вертикалі, точки, які тягнуть на графіку або вписують у таблицю поряд. Три профілі рухають стелю кривої:

Профіль Стеля GPU Примітки
Cautious 1850 МГц Найкраща точка з заводським охолодженням: майже ті самі кадри, на десять градусів холодніше
Balanced 2000 МГц Компроміс між частотою й теплом
Performance 2100 МГц Крива з п’ятнадцяти точок, виміряна на платі розробки — та, яку ми постачаємо типово

Застосувати — це проба, а не миттєвий запис. Крива, яка просить забагато мало напруги, вішає плату, а на BC-250 зависання знімається лише відключенням живлення. Тому Застосувати тримає попередню криву на диску, пробує кандидатку 25 секунд і чекає підтвердження: натисніть Залишити, щоб записати її насправді; інакше — або якщо плата зависла й сама перезавантажилася — при старті повертається попередня крива.

Регулятор V/F графіки

Частотами графіки керує skillfish-vf-governor, наша служба, яка забирає такт і напругу у заводського регулятора й керує ними напряму через SMU, тримаючи стелю частоти, яку тепло й споживання можуть знизити, а коли плата заспокоїлася — повернути назад. Окремий процес, skillfish-vf-watchdog, бере на себе керування, якщо регулятор падає з примусово вимкненим тактом.

Виміряно на Black Myth: Wukong, та сама сесія, ті самі 84 °C в обох прогонах: +4,5% на холодній платі, +11% на розігрітій, порівняно з заводським регулятором. Перевага зростає з температурою, бо заводський регулятор втрачає такт у міру нагрівання плати, а наш ні.

Звичайні записи amdgpu в sysfs (power_dpm_force_performance_level, pp_dpm_sclk) не керують BC-250 — це робить лише skillfish-vf-governor. Графіка виходить на стелю тільки за справжнього насичення графічними обчисленнями.

Розгін і зниження напруги процесора

Процесором (8 ядер / 16 потоків Zen 2 «Oberon», два з них розблоковані SkillFishOS через SMU — також ще до завантаження, програмою EFI, за одне перезавантаження) для розгону опікується одноразова служба bc250-smu-oc.service, яка застосовує значення з /etc/bc250-smu-oc.conf за допомогою проєкту bc250_smu_oc. Після застосування вона показується як inactive — це нормально (вона одноразова).

Що ми виміряли, притискаючи нашу плату:

  • 3700 МГц зі зниженням напруги до ~1106 мВ (scale −16);
  • 3900 МГц за ~1199 мВ (scale −24);
  • 4,0 ГГц перевірено за ~1224 мВ (scale −36) на 120 с безперервного навантаження з піком 83 °C — придатний максимум цього примірника;
  • Жорстка стеля Vid: 1,325 В (ніколи не перевищувалася).

Зниження напруги — це не про «притиснути», а про те, щоб зробити ту саму роботу з меншим теплом і меншим споживанням: за заданої частоти зниження напруги до межі стабільності збиває температуру й лишає тепловий запас решті APU.

Теплове зчеплення процесора й графіки

Процесор і графіка ділять той самий кристал і той самий бюджет потужності. За змішаного навантаження (вимоглива гра: процесор і графіка разом) APU захищає себе, і процесор самочинно спадає до ~3450 МГц, щоб лишитися в межах бюджету й під 85 °C. Це не вада: кристал захищається, скидаючи найменш корисні мегагерци. З тієї самої причини зниження напруги процесора лишає більше теплового «місця» для графіки, і навпаки.

40 обчислювальних блоків — наживо

BC-250 має 40 блоків (20 пар), але драйвер типово вмикає 24. SkillFishOS доводить їх до 40 під час запуску, без додаткових кроків; з Tuner кількість змінюють наживо, вписуючи потрібне число або клацаючи на 20 спарованих квадратах. Перші 24 блоки закріплені драйвером і ввімкнені завжди.

З усіма 40 блоками графіка показує 11385 GFLOPS FP32 (vkpeak) на холодну, проти ~6141 за базових 24 CU: +85%. Під тривалим навантаженням (на гарячу) вона осідає близько 10214 GFLOPS. Виміряна пропускна здатність пам’яті (clpeak) — ~350–367 ГБ/с.

Кремнієва лотерея. На відновлених кристалах «з відбраковки» частина блоків може бути хисткою. У Tuner є «Перевірка CU», яка навантажує кожну пару vkpeak’ом і повідомляє про помилки та зависання графіки, щоб ви пересвідчилися, що ваш кристал витримує всі 40. (Механізм через umr, із записом масок WGP — подяка bc250-cu-live-manager, написано наново.)

Тепловий захист — межа 85 °C

Теплова стеля — 85 °C, і її дотримуються на двох рівнях:

  1. з боку регулятора: gradi_max і watt_max у /etc/skillfish-vf-governor.json знижують стелю частоти перед тим, як перетнути 85 °C або межу потужності (нашу, не прошивки), і повертають її, коли плата заспокоїлася;
  2. з боку системи: skillfish-vf-watchdog, окремий процес, який бере на себе керування, якщо регулятор падає з примусово вимкненим тактом.

Що варто знати про заводське охолодження (див. також Залізо BC-250 щодо корпусів для друку на 3D і рекомендованих вентиляторів):

  • заводський радіатор на межі: порівняння тестів «один за одним» спотворює heat-soak — дайте платі охолонути кілька хвилин між заходами;
  • є лише датчик краю графіки; датчика температури VRAM немає;
  • пропускна здатність пам’яті добра, але mclk змінювати не можна.

Реальний випадок: ігри, що впираються в процесор

Деякі тайтли — як-от Black Myth: Wukong у самій грі — впираються в процесор і кількість викликів малювання: кадри майже не залежать від роздільності чи частоти графіки. Там натомість допомагають розгін процесора й добре охолодження. Щодо масштабування зображення, FSR 4 працює через OptiScaler на шляху DLSS гри (див. Ігри).

Коли навантаження справді впирається в графіку (наприклад, обліт із тесту Wukong), стеля кривої має значення: у Tuner підійміть профіль із Cautious або Balanced до Performance (2100 МГц) або впишіть власну криву. Виміряна перевага на тесті Wukong проти старого заводського регулятора — +4,5% на холодній платі й +11% на розігрітій: регулятор V/F не втрачає такт у міру нагрівання, на відміну від заводського. Лишається тільки жорстка фізична межа: 1129 мВ — стеля напруги, яку amdgpu декларує для цієї графіки; жодна крива не може її перевищити.

І все це без термінала

Частоти, крива графіки, вентилятор і обчислювальні блоки налаштовують із вікна Tuner, маючи три готові профілі графіки й автоматичну 25-секундну пробу з поверненням до попередньої кривої, якщо ваша плата її не втримає — див. Control Center. Це рекомендований шлях: почніть із Cautious, перейдіть на Balanced чи Performance — а Tuner перевірить усе на вашій BC-250.

Джерела

  • skillfish-vf-governor — наш регулятор V/F для графіки, пряме керування SMU з регульованою стелею
  • bc250_smu_oc (bc250-collective) — розгін і зниження напруги процесора через SMU
  • bc250.info — безпечні точки й теплові нотатки від спільноти
  • vkpeak · clpeak — тести FP32 і пропускної здатності пам’яті