Проект HYDRA — песочница для процессоров Ryzen с микроархитектурой Zen 3

Процессор всегда был продуктом, который притягивал внимание энтузиастов и даже больше, чем видеокарты. Его участие крайне важно во всех приложениях, и неважно есть ли там 3D. В 2019 году был представлен первый многочиплетный процессор от компании AMD, носитель революционной микроархитектуры Zen 2. Массовому пользовательскому сегменту впервые было предложено рекордное количество ядер. Попутно с обновлениями UEFI подоспели функции индивидуального разгона каждого чиплета и расширенные возможности работы PBO (изменение лимитов для работы автобуста). Единственным спорным моментом оставалось то, насколько хорошо компания AMD использует возможности 7-нм техпроцесса и особенности многочиплетной компоновки со стороны производительности на ватт.

А вот тут давайте немного поподробнее.

HYDRA

Каждая кремниевая пластина, из которой вырезаются чиплеты, обладает разными характеристиками энергоэффективности (и не только). Каждый чиплет в итоге также имеет свои собственные характеристики, как, собственно, и ядра в нем. Также не стоит упускать из вида процент брака, который существует в любом кремниевом производстве. Перед AMD стояла серьёзная задача, как собрать из полученных чиплетов решения на 12–32 ядра, которые будут приемлемы для геймеров, и как максимально задействовать неудовлетворительные чиплеты, чтобы и дальше радовать инвесторов, воодушевленных возможностями архитектуры Zen 1 и низким уровнем брака.

HYDRA

Решение не заставило себя долго ждать. В результате Ryzen 9 получил один высокочастотный чиплет, а второй, который не мог похвастаться отличными характеристиками, стали именовать энергоэффективным. В случае с Threadripper пользователи получали все тот же один высокочастотный чиплет и три энергоэффективных. Большим удивлением для многих рецензентов было то, что два или четыре разных кристалла работают на одной и той же частоте во время многопоточной нагрузки, ведь это скрытый потенциал. Разумеется, каких-либо комментариев по этому поводу не последовало.

Поскольку система питания для всех чиплетов симметрична (при этом digital low dropout выключен), а энергоэффективный чиплет тоже обязан обладать высокими частотами, единственным решением становится увеличение рабочего напряжения. В таком случае один высокочастотный чиплет получает более высокое напряжение, чем ему требуется. Это, разумеется, второй плюсик в корзинку потенциала.

Идем дальше. Как мы выяснили ранее, каждый чиплет требует разного напряжения питания для достижения обещанных паспортных частот, и для того, чтоб все ядра работали стабильно, всегда выбирается напряжение для них по самому худшему образцу. Затем производится расчет «прочности» кремния и собственно оценка деградации. Основными воздействующими факторами становятся температура, напряжение и время, ведь процессор обязан к концу гарантийного срока все еще работать на паспортных частотах. В итоге некоторые процессоры получают существенный «овервольтаж», а некоторые CPU, которые не списали, работают на пределе своих возможностей. Собственно, для половины образцов «овервольтаж» — это третий плюс в корзинку потенциала.

Помимо всего вышеперечисленного лично мне отлично запомнился момент, когда пользователи узнали о том, что рабочее напряжение у 7-нм техпроцесса не снизилось, а осталось на том же уровне и местами возросло до впечатляющих 1,475 В. Было поднято довольно много тем о деградации процессоров и реальной надобности такого напряжения, но, тем не менее, вопрос «догнать хоть как-то где-то по частоте конкурента» остался превыше всего. В реальности «пожелания» 7-нм техпроцесса выглядят совсем иначе. Как многие из вас знают, зависимость частоты от напряжения не линейная и чем выше напряжение, тем ниже прирост частоты. В случае с процессорами Zen 2 и Zen 3, адекватная масштабируемость частоты заканчивается уже после 1,325–1,375 В. Диапазон 1,375–1,475 В в лучшем случае может дать 75 МГц дополнительной частоты и 10–15 дополнительных градусов.

Несмотря на то, что в 99% обзоров вышеприведённая информация осталась за кадром, процессоры Zen 2 не имели конкурентов, а дальнейшая доработка (тюнинг) легла на плечи пользователей. Итогом данной несправедливости стало рождение Clock Tuner for Ryzen, утилиты, которая автоматически искала максимально стабильную частоту для каждого профиля (и каждого чиплета индивидуально), тем самым увеличивая производительность процессоров или энергоэффективность (в зависимости от того, какую задачу выбирал пользователь). В результате путем простых манипуляций можно было получить до 10% дополнительной производительности при идентичном энергопотреблении или снизить энергопотребление на впечатляющие 30% без потери производительности.

Разумеется, с подобным движением энтузиастов, увлеченных оптимизацией, процессорному гиганту нужно было что-то делать, при этом делать так, чтоб не испортить себе репутацию. К счастью, жизненный цикл микроархитектуры Zen 2 близился к концу и Zen 3 мог стать замечательным фундаментом для эволюционного шага в сфере оптимизации, что, собственно, и случилось. Компания AMD выпускает фантастический инструмент под названием Curve Optimizer, который способен изменить соотношение частоты от напряжения для каждого ядра. Механизм работы данной технологии крайне простой — это обмануть процессор, сообщив ему, что он получает большее напряжение чем на самом деле, что, в свою очередь, приведет к росту частоты (и тока). Так как процессор имеет фиксированный порог тока для буста, для компенсации возросшего значения приходится снижать VID (запрашиваемый вольтаж).

HYDRA

Внимательные пользователи могут заметить одну несостыковку, когда на рекламных слайдах это именуется undervolting, а в реальности вовсе нет. Зачем это было сделано для меня до сих пор остается загадкой, но сегодня не об этом.

Подводя итоги, с микроархитектурой Zen 3 пользователи получили не только существенно возросший IPC, а и еще один инструмент тюнинга, но не получили возможность поиска этих значений или хотя бы возможность управлять CO прямо из Windows. Если у пользователя 6-ядерный процессор, невероятно много времени и усидчивости, то значения CO вполне реально найти путем проб и ошибок. Для большего количества ядер это уже может стать проблемой, а скрытый резерв производительности все так же останется лакомым кусочком. Clock Tuner for Ryzen в данном случае помочь не мог, так как архитектура управления частотой не могла удовлетворить потребность в виде управления частотой индивидуально по каждому ядру. Именно это и стало началом развития проекта HYDRA о котором я расскажу дальше.

Проект HYDRA

HYDRA

Проект HYDRA является вторым поколением OC-песочницы для процессоров Ryzen, основанных на микроархитектуре Zen 3 и новее. В основе утилиты лежит существенно доработанный Clock Tuner for Ryzen, который обрел большое количество функций, способных выжать из процессора еще больше производительности. Были существенно доработаны также функций безопасности, которые в реальном времени следят за состоянием процессора.

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

Ключевым отличием HYDRA является модульная архитектура и обилие профилей, благодаря которым пользователь может создать «BOOST», словно из кубиков LEGO, такой, каким он хочет видеть.

HYDRA

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

HYDRA

Пользователю предоставляется возможность комбинировать автоматический стандартный буст AMD (даже с CO) со статическими и динамическими профилями. Узкоспециализированные профили FMA3 и GAME в свою очередь будут оптимальны для тяжелых задач и игр.

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

Управление триггерами, которые активируют профили существенно изменилось и теперь не требует от 99% пользователей какого-либо вмешательства. Для опытных энтузиастов предлагается в свою очередь обилие настроек.

HYDRA

Процесс диагностики также получил большое количество новых настроек.

HYDRA

Система логирования теперь умеет информировать пользователя, какое ядро «упало» во время выполнения задачи и предоставлять советы по устранению проблемы.

HYDRA

BOOST TEST позволяет узнать пользователю о максимальной однопоточной частоте каждого ядра. Тест можно выполнить для стандартного BOOST, PBO + CO, а также HYBRID OC.

HYDRA

На вкладке COMPARE предлагается пользователю оценить результаты оптимизации системы путем сравнения производительности стандартного BOOST и режима HYBRID OC.

HYDRA

Не обошлось без особого подарка для геймеров — режима Clear standby cache, предназначенного сделать более плавный фреймрейт и убрать фризы путем автоматической очистки переполняющихся кэшей.

HYDRA

Замыкает список новшеств автоматическая функция поиска значений для Curve Optimizer (UEFI). Теперь пользователям не нужно заниматься ведением ежедневника, вручную исследовать потенциал ядер или испытывать удачу, чтобы получить значения CO. Результат работы — три пресета, которые можно комбинировать между собой как угодно.

HYDRA

Общие рекомендации перед диагностикой

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

Список условий:

  • Поддерживаются процессоры Ryzen 9 5950X, Ryzen 9 5900X, Ryzen 7 5800X, Ryzen 7 5700G, Ryzen 5 5600X и Ryzen 5 5600G. Присутствует поддержка степпинга B2.
  • Операционная система Windows 10 (build 2004) или новее. Windows 11 поддерживается полностью. План питания — Сбалансированный.
  • Наличие чипсет драйверов или Ryzen Master не играет никакой роли.
  • Приветствуются актуальные версии драйверов для видеокарты (GeForce 471.68 / AMD Radeon Adrenalin 21.6.1 и новее).
  • Стабильный разгон оперативной памяти обязателен. Prime95, который используется во время диагностики для определения нестабильности ядер процессора очень чувствителен к ошибкам в оперативной памяти. В свою очередь нагрузка на конвейеры процессора зависит от частоты оперативной памяти и таймингов. Разгон оперативной памяти не обязан быть ручным, достаточно активированного XMP профиля.
  • Настройки PBO в UEFI — не играют никакой роли кроме Curve Optimizer. Обязательно оставьте включенным Curve Optimizer со значениями 0 для каждого ядра. Режим Disabled не отключает Curve Optimizer, а лишь прячет страницу со значениями.
  • CPU Voltage в UEFI — всегда со значением Auto.
  • CPU LLC (Load Line Calibration) — в режиме Auto. По моим наблюдениям пользователь может получить больше производительности, чем с любым другим режимом, который будет иметь более жесткую компенсацию просадки напряжения (Vdroop).

Диагностика

Шаг 1: Установка напряжений

Нажмите на HYBRID OC и задайте напряжения, на которых вы хотели бы чтобы работали профили. Если для вас это сложно — выберете один из пресетов (UNDERVOLT, NORMAL, OC или XOC). Для систем AIO и воздушного охлаждения я не рекомендую использовать пресеты OC и XOC из-за риска перегрева. Если вы не решаетесь выбрать пресет — пропустите этот шаг, так как базовые напряжения, которые предлагает HYDRA, безопасны для любой системы охлаждения и слабых VRM.

HYDRA

Внимательные пользователи заметят, что все пресеты HYDRA для малопоточных профилей используют напряжение всего 1375 мВ, которые довольно далеки до стоковых 1475–1500 мВ. Смысл этой затеи использовать оптимальный диапазон напряжений, на котором процессор работает лучше. Меньшая рабочая температура, напряжение и токи утечки делают чудо и в 95% позволяют получить большую частоту, чем при стандартном напряжении.

Шаг 2: Настройка системы защиты

Если вы выбрали предустановки OC или XOC, то необходимо уделить должное внимание настройкам системы безопасности HYDRA, чтобы защитить процессор от перегрева или чрезмерного энергопотребления. Перейдите во вкладку SETTINGS и увеличьте значения Max EDC, Max TDC и Max PPT. Если вам не знакома это аббревиатура — просто +30–50 к каждому значению.

HYDRA

Эти значения никак не относится ни к PBO, ни к собственной защите процессора (во времена CTR некоторые некомпетентные ресурсы любили запугивать этим пользователей). Данные значения существуют только для HYDRA, и они являются триггерами, при которых происходит остановка процесса диагностики или деактивация профиля (временное включение стандартного буста AMD).

Значение температуры трогать не советую, оно соответствует стандартным паспортным нормам.

Шаг 3: Выбор модулей диагностики

Процесс диагностики состоит из ряда тестов и каждый из них обладает собственными настройками. По умолчанию пользователю не требуется вносить какие-либо изменения, если речь идет о первой диагностике. Во время нее HYDRA определяет значения CO для малопоточной и многопоточной нагрузки, затем на основе пользовательских напряжений и полученных значений CO создаются профили.

HYDRA

Если это вторая диагностика или по каким-то причинам первая диагностика не устраивает пользователя и требуется сделать ретест, то для экономии времени можно отключить некоторые модули. Приведу пример. Мне хочется протестировать снова только ядра с номерами 5 и 6, а затем пересоздать профили. Также мне не хочется тратить время на повторное тестирование CCD (поиск CO для многопоточных профилей). Настройки будут выглядеть следующим образом:

HYDRA

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

Бывают исключительные ситуации, когда запуск диагностики сопровождается мгновенной перезагрузкой или синим экраном. Это может свидетельствовать о неправильных настройках UEFI или о плохом образце процессора, который не списали, а допустили в розничную сеть (к сожалению, количество таких процессоров просто огромное). Для этого пользователю требуется включить Safe mode на страничке с настройками диагностики. Диагностика будет начинаться с более низких значений CO.

Enhance accuracy — предназначен для более точной диагностики CO ядер или CO CCD. Удваивает время тестирования.

Функция Find best voltages (поиск идеальных напряжений), настройки диагностических напряжений (CORE CO testing VID и CCD CO testing VID) и выбор сложности (CORE CO FFT и CCD CO FFT) доступно в профессиональной версии.

Шаг 4: Запуск диагностики

После того как вы определитесь с настройками, запустите диагностику, нажав на кнопку DIAGNOSTIC. Процесс диагностики может занимать до 6 часов в зависимости от качества образца (лучше образец — дольше). Система может периодически перезагружаться во время диагностики и это совершенно нормально. После завершения диагностики профили и соответствующие таблицы в разделе HYBRID OC будут автоматически заполнены и сохранены. Пользователь также получит сообщение о том, что процесс диагностики завершен.

HYDRA

HYBRID OC

На вкладке HYBRID OC нажмите кнопку ACTIVATE PROFILES, чтобы активировать включенные (ENABLED) профили. Эта кнопка действует как переключатель, который служит и для деактивации профилей. Состояние кнопки сохраняется автоматически. Во время присутствующей нагрузки соответствующий профиль (который удовлетворяет ряду условий) выделяется красным цветом. В колонке STATS отображается статистика количества «включений» профиля. Изменение любого из параметров в этой таблице требует реактивации HYBRID OC, то есть необходимо сначала отключить профили с помощью нажатия на кнопку DEACTIVATE PROFILES, изменить значения, а затем активировать профили с помощью ACTIVATE PROFILES.

HYDRA

Вы можете просматривать и редактировать таблицы CO для профилей, перейдя на соответствующую вкладку, нажав кнопку CO VALUES. Как уже упоминалось ранее, таблицы СО предназначены для изменения результирующей частоты (кривые частот относительно напряжения). Левая таблица отвечает за малопоточные профили, а правая — за многопоточные. Единицей измерения CO являются милливольты (мВ). Значения CO в обеих таблицах являются базовыми для всех типов нагрузки. То есть, главной задачей этих таблиц является обеспечение правильного наращивания частоты при использовании нагрузки AVX2/FMA3.

У пользователя есть возможность изменить результирующую частоту для обеих CCD (в случае Ryzen 9 5950X и Ryzen 9 5900X) в режиме реального времени без реактивации профилей, нажимая кнопки «+» и «–». Также можно изменить значение CO для каждого ядра по отдельности (для любой таблицы) в режиме реального времени.

HYDRA

Ключевой особенностью HYDRA является анализ в режиме реального времени «бутылочного горлышка» СО. Ядра, которые выделены красным цветом, предотвращают поднятие частоты для всего CCD или группы ядер, т.е. эти ядра являются наихудшими. Этот механизм легко поможет вам откалибровать таблицы СО для достижения более высокой частоты или стабильности путем взаимодействия с выделенным значением. Рекомендуемый шаг для левой таблицы составляет 15, для правой — 10.

В PRO-версии для пользователя нет ограничений для значений CO, версия non-PRO немного скоромнее, левая таблица ограничена значением 60, а правая — 20 (хотя визуально можно ввести любое значение). Этого вполне достаточно для среднестатистических образцов, которые не имеют внушительного запаса CO.

Еще одним достоинством версии PRO является возможность изменить форму кривых для определенных типов нагрузки, а если быть точным, для диапазона AVX1–AVX2. То есть кривая получает «горб». Принцип работы аналогичен CO, только управление (смещение) осуществляется сразу целым CCD относительно левой или правой таблицы CO.

Примечание 1. В большинстве случаев оптимальным диапазоном значений AVX1 CO OFFSET для LT (малопоточная нагрузка) будет 20–60, а для MT (многопоточная нагрузка) 0–40.

HYDRA

Произошел сбой? После повторного запуска HYDRA, во вкладке LOGGING вы можете найти информацию о том, какое ядро вызвало сбой и рекомендуемые действия.

HYDRA

Отличным способом борьбы с нестабильностью системы является уменьшение базовой частоты профилей. Чтобы сделать это, деактивируйте, нажав DEACTIVATE PROFILES, уменьшите базовую частоту на 25–50 МГц и снова активируйте профили кнопкой ACTIVATE PROFILES.

Примечание 2. Если вы используете динамические профили, то нет необходимости гнаться за высокой базовой частотой, поскольку она служит лишь фундаментом для безопасного переключения профилей. Если вы используете профили только в статическом режиме — базовая частота будет выполнять роль и результирующей. Тип профиля можно увидеть в колонке DYNAMIC.

HYDRA

Если вы удовлетворены результатами, нажмите кнопку SAVE PROFILES для сохранения всех изменений, связанных с профилями. Для удобства можно сохранять и загружать промежуточные профили с помощью кнопок CREATE BACKUP и LOAD BACKUP. Создаваемые файлы совместимы между всеми версиями HYDRA.

Примечание 3. Любое взаимодействие с профилями требует реактивации HYBRID OC.

Auto-load APP with OS, вкладка SETTINGS — завершающий шаг нашего экскурса в мир HYDRA. Эта опция позволяет запускать HYDRA, загружать и активировать профили при каждом запуске Windows. Тайм-аут 40 секунд.

Примечание 4. Не пытайтесь включать эту опцию для диагностики. Диагностика имеет собственную технологию «Phoenix», которая восстанавливает и продолжает процесс тестирования.

Примечание 5. Настройки, которые находятся на вкладках SETTINGS после любого изменения сохраняются автоматически.

Отличие версий HYDRA

HYDRA

Как можно заметить, основные отличия — это диапазон CO, в которых HYDRA будет работать. Около 50% процессоров не получат значительного преимущества от PRO-версии, поскольку все зависит от значений CO. Чем выше значение CO, тем больше разгонный потенциал у процессора и тем выше конечная частота во всех режимах.

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

Сравнительное тестирование и выводы

Меня всегда расстраивали рамки и правила, по которым работали процессоры Ryzen и мне всегда казалось, что эта перспективная архитектура достойна большего и может гораздо больше. Проект HYDRA призван дать свободу пользователям и подарить многочасовой экскурс в мир оптимизации. В качестве результата пользователь может получить что-то свое, например более высокую производительность при том же энергопотреблении. В качестве примера я хотел бы продемонстрировать сравнение производительности при использовании PBO + CO и HYDRA.

HYDRA

Curve Optimizer от AMD демонстрирует впечатляющие результаты, но и результат PPT достигает солидных 214 Вт. Согласитесь, столь горячее удовольствие мало кто сможет себе позволить. HYDRA получает аналогичную производительность, но значение PPT на целых 62 Вт ниже (почти PPT-пакет Ryzen 5 5600X). Разница в энергоэффективности составляет 29% и процессор почти на 20 градусов холоднее. Безусловно найдутся и те пользователи, которые захотят задействовать в HYDRA эти 62 Вт или пойдут даже дальше. А может сделать андервольтинг? В любом случае повторюсь, вы создатель правил для процессора.

Важное примечание. Чем лучше ваша система охлаждения и чем качественней реализована схема питания процессора (VRM), тем на более высокий результат вы можете рассчитывать. Напомню, что о VRM есть замечательная глава. То есть победа в кремниевой лотерее решает не все — по моим наблюдениям 30% скрытого потенциала можно получить только с качественной системой охлаждения и добротной материнской платой. Еще 30% я б отнес к прямоте рук пользователя и только 40% останется на сам процессор.

В отличии Clock Tuner for Ryzen однопоточная и малопоточная производительность тоже сможет удивить.

HYDRA

Для пользователей, которые по какой-либо причине не воспринимают подобные проекты, есть очень важный сюрприз — в конце диагностики можно получить три CO-пресета для UEFI. Мне очень важно, чтобы сообщество Ryzen было едино, и никто не остался обделенным.

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

А на сегодня все, до новых встреч и с наступающими праздниками!

Скачать утилиту PROJECT HYDRA можно здесь.