Добавить в корзинуПозвонить
Найти в Дзене
DigiNews

Инструмент Binary Optimization от Intel: разбор и тестирование

Новые процессоры Intel Core Ultra 200S Plus оснащены уникальной функцией: инструментом бинарной оптимизации (iBOT). Мы протестировали его в 10 играх на моделях 250K Plus и 270K Plus и получили в среднем 8% прироста. — tomshardware.com У Intel намечается нечто интересное с их новым инструментом бинарной оптимизации (Binary Optimization Tool). Известный как iBOT, это уровень трансляции, схожий с Microsoft Prism или Apple Rosetta. Однако, вместо трансляции инструкций из одной архитектуры набора команд (ISA) в другую, он оптимизирует x86-приложения для более эффективной работы на процессорах Intel. Как заявляет Intel, он преобразует «другой x86» в «Intel x86».
Это одна из главных особенностей новых чипов Intel Core Ultra 200S Plus — Core Ultra 7 270K Plus и Core Ultra 5 250K Plus. Хотя оба демонстрируют прирост производительности исключительно за счет кремния, по крайней мере, часть их игрового ускорения обеспечивается iBOT. В настоящее время он активирован только в 12 играх, но Intel зая

Новые процессоры Intel Core Ultra 200S Plus оснащены уникальной функцией: инструментом бинарной оптимизации (iBOT). Мы протестировали его в 10 играх на моделях 250K Plus и 270K Plus и получили в среднем 8% прироста. — tomshardware.com

У Intel намечается нечто интересное с их новым инструментом бинарной оптимизации (Binary Optimization Tool). Известный как iBOT, это уровень трансляции, схожий с Microsoft Prism или Apple Rosetta. Однако, вместо трансляции инструкций из одной архитектуры набора команд (ISA) в другую, он оптимизирует x86-приложения для более эффективной работы на процессорах Intel. Как заявляет Intel, он преобразует «другой x86» в «Intel x86».
Это одна из главных особенностей новых чипов Intel Core Ultra 200S Plus —
Core Ultra 7 270K Plus и Core Ultra 5 250K Plus. Хотя оба демонстрируют прирост производительности исключительно за счет кремния, по крайней мере, часть их игрового ускорения обеспечивается iBOT. В настоящее время он активирован только в 12 играх, но Intel заявляет, что iBOT является частью их долгосрочной дорожной карты и в будущем будет присутствовать в чипах Intel для настольных ПК и мобильных устройств. Я хотел увидеть, насколько велико это ускорение от iBOT, поэтому протестировал эту функцию в 10 из 12 игр, где она поддерживается, и пообщался с Робертом Халлоком из Intel, чтобы лучше понять, как работает эта функция и что она может предложить.
Если говорить строго о производительности, iBOT обеспечивает прирост средней частоты кадров около 8% как на Core Ultra 7 270K Plus, так и на Core Ultra 5 250K Plus. Это ускорение мы уже видели ранее с функцией Intel Application Optimization, или APO. Разница здесь в том, что преимущество гораздо более стабильно и достигает пика в 18% в
Shadow of the Tomb Raider на 270K Plus.
Однако данные — это лишь часть истории. В конце концов, мы имеем дело с небольшой выборкой образцов, и преимущества такой функции, как iBOT, не станут ясными, пока список поддерживаемых игр не достигнет как минимум нескольких десятков. Другая часть истории — это то, как работает iBOT. Он уникален, не похож ни на что, что мы видели от
Intel или AMD в прошлом, и может оказаться многообещающим, если Intel будет его развивать. Он не улучшит производительность ЦП повсеместно, но это рычаг, доступный через программное обеспечение, который Intel может использовать для эффективного повышения IPC.
Именно это мы и собираемся продемонстрировать: как производительность iBOT, так и обзор того, как он работает, чтобы стало ясно, почему эта функция так интересна. Надеемся, мы также развеем некоторые заблуждения относительно iBOT. У Intel есть история обещаний улучшений производительности через ПО, которые на деле ни к чему не привели, поэтому неудивительно, что к iBOT до сих пор относятся со скептицизмом.
Прежде чем углубляться в детали о том, как работает iBOT и каковы его потенциальные области применения, давайте перейдем к
бенчмаркам.
Мы протестировали iBOT в 10 из 12 игр, где он в настоящее время поддерживается, а также
проверили его в Geekbench 6 (об этом позже). Intel заявляет, что мы должны увидеть в среднем 8% прироста, и действительно, я наблюдал примерно такой же скачок как на Core Ultra 7 270K Plus, так и на Core Ultra 5 250K Plus, если смотреть на геометрическое среднее моих результатов. Некоторые игры масштабируются намного лучше, в то время как в других я не заметил никакой разницы.
Использованный нами тестовый стенд идентичен тому, который мы используем в наших обзорах ЦП. Это означает, что RTX 5090 FE находится во главе, чтобы исключить любые потенциальные узкие места, связанные с ГП. Мы оцениваем производительность ЦП. Для этого мы также тестировали при разрешении 1080p со смесью настроек Ultra и High и без какой-либо помощи масштабирования или генерации кадров. Я также тестировал исключительно iBOT. Эта функция построена поверх APO — об этом позже — и я оставил APO включенным в обоих прогонах. Она должна работать без ручного вмешательства, при условии, что установлены драйверы.
В среднем Core Ultra 5 250K Plus показал улучшение на 8,3% с iBOT по всему набору тестов, в то время как Core Ultra 7 270K Plus показал улучшение на 7,5%; можно сказать, что это примерно 8%, если объединить оба чипа. Интересны индивидуальные результаты, особенно то, как они меняются между 270K Plus и 250K Plus.
Для 250K Plus большинство игр показали прирост от 7% до 10%, лучший результат показала
Remnant 2 с улучшением в 10,9%. Среднее значение тянет вниз Cyberpunk 2077, который улучшился всего на 1,8% с включенным iBOT. Если исключить Cyberpunk, средний показатель возрастает до более чем 9%. Я подозреваю, что Cyberpunk 2077 был включен в первоначальный список игр Intel не потому, что он дает большой прирост производительности с iBOT, а потому, что он широко распространен в сообществе бенчмаркинга ПК.
Тем не менее, результаты здесь последовательны. Этот 8%-ный прирост — не результат одной или двух «блуждающих» игр, где iBOT действительно преуспевает; функция показывает улучшения во всем наборе игр.
Ситуация более изменчива с Core Ultra 7 270K Plus, к лучшему и к худшему. С одной стороны, я увидел огромные улучшения в
Shadow of the Tomb Raider и Hogwarts Legacy: первая показала скачок на 18% с включенным iBOT, а вторая выросла более чем на 12%. С другой стороны, Final Fantasy XIV показала всего 5%-ное улучшение, в то время как 250K Plus продемонстрировал скачок на 9%. В Hitman 3 270K Plus почти не получил выгоды от включенного iBOT, в то время как 250K Plus показал улучшение почти на 6%. Аналогично, в Wonderlands 270K Plus получил от iBOT всего 0,5% прироста.
В остальном результаты схожи для обоих ЦП —
Cyberpunk 2077, Far Cry 6, Assassin’s Creed Mirage, Remnant 2 и Borderlands 3 показали схожие улучшения на обоих чипах с включенным iBOT.
Помимо средней частоты кадров и 1% минимальных значений, я также зафиксировал тактовые частоты, температуры, энергопотребление и эффективность, как обычно делаю в обзорах ЦП. Однако здесь не о чем особо говорить. С включенным iBOT я зафиксировал немного более высокое энергопотребление и температуры, а также лучшую эффективность, но разница минимальна. Мы говорим о дополнительном ватте или двух, в лучшем случае, что, вероятно, является следствием того, что некоторые потоки не переходят в режим простоя из-за неэффективности.
Меня больше интересуют различия между Core Ultra 5 250K Plus и Core Ultra 7 270K Plus. Intel заявляет, что со временем сможет оптимизировать старые приложения для новых архитектур так же легко, как и оптимизировать новые приложения для старых архитектур. Трудно поверить, что будет единый универсальный профиль для всех них. Мы уже видим некоторые большие расхождения между двумя ЦП, которые довольно схожи. Я предполагаю, что это преувеличится, когда у iBOT появится несколько новых микроархитектур в запасе.
Неясно, как Intel будет справляться с этими различиями. Возможно, если один или два чипа получат достаточный прирост, профиль станет доступен всем, даже если он не приведет к увеличению производительности на некоторых чипах. Возможно, в будущем мы увидим индивидуальные профили для разных чипов. Сейчас трудно сказать, но логично предположить, что некоторые ЦП и некоторые архитектуры получат больше преимуществ в определенных приложениях и меньше — в других.
iBOT — это новинка, и из-за этого легко неправильно понять, что делает эта функция. Сначала нам нужно начать с Dynamic Tuning Technology (DTT) и Application Optimization (APO), потому что iBOT следует этой линии, но совершенно иным образом. DTT — это оптимизация на уровне системы, особенно в отношении энергопотребления. Она регулирует потребности в питании в зависимости от условий системы, таких как тепловой запас (или его отсутствие). APO — это уровень оптимизации на уровне приложений. Он занимается борьбой с избыточной многопоточностью (overthreading), когда приложение создает поток, который ему на самом деле не нужен, и планированием правильных рабочих нагрузок на нужные потоки. iBOT — это оптимизация на уровне бинарных файлов, что отличается от оптимизации на уровне приложений.
После того как разработчик заканчивает написание исходного кода, он проходит через компилятор, который преобразует исходный код в бинарный файл. Компилятор нацелен на определенную ISA, поэтому бинарный файл для x86 не будет работать на платформе ARM, и наоборот. После завершения компиляции разработчики могут начать оптимизировать свой код. Они тестируют производительность, возвращаются к исходному коду, перекомпилируют и продолжают этот цикл до тех пор, пока не получат бинарный файл, оптимизированный для их целевой платформы.
В случае с x86 это широкая платформа. Существуют сотни x86-процессоров в различных конфигурациях, поэтому оптимизация для одной конкретной платформы может быть в ущерб другой. Разработчики также могут привыкнуть к определенному набору инструментов, который оставляет часть производительности неиспользованной для более новых архитектур ЦП. iBOT стремится устранить эту неэффективность без переписывания исходного кода. Он хочет создать бинарный файл, оптимизированный для конкретной архитектуры Intel, не возвращаясь к разработчику, не оптимизируя и не перекомпилируя новый бинарный файл. Для этого требуются две вещи.
Первое — это способ увидеть, что происходит на очень низком уровне во время выполнения кода на ЦП. Это аппаратная оптимизация на основе профилирования (Hardware-based Profile Guided Optimization), или HWPGO. В процессорах Arrow Lake Refresh и будущих процессорах Intel есть аппаратные счетчики производительности, которые могут фиксировать такие вещи, как промахи кэша, неверные предсказания ветвлений, спинлоки и аппаратные прерывания. Intel заявляет, что у нее есть проприетарный набор инструментов для мониторинга этих метрик, который, что понятно, она не хочет раскрывать более подробно.
Второе — это уровень трансляции. Если определенные инструкции вызывают неэффективность, Intel должна переработать эти инструкции, чтобы избежать вызванной ею неэффективности. Вы могли бы исправить эти проблемы, вернувшись к исходному коду, но тогда Intel пришлось бы добиваться расположения разработчика, убеждать его потратить время и деньги на оптимизацию под ее конкретную архитектуру, а затем выпустить новый бинарный файл, оптимизированный для одной конкретной архитектуры, а не для другой. Это будет сложно продать, особенно учитывая продолжающийся рост доли рынка AMD. Таким образом, Intel необходимо оптимизировать на стороне бэкенда, используя производственный бинарный файл и транслируя инструкции в режиме реального времени во время выполнения. Именно это и делает iBOT. Затем Intel собирает эти оптимизации в виде профиля, отправляет его, и вы в деле.
В качестве примера можно взять промах кэша. Ядру нужны данные в кэше, которых там нет, и ядро должно остановиться на определенное количество циклов, пока эти данные извлекаются, что фактически снижает IPC. «Произошел ли промах кэша потому, что этим данным не был присвоен приоритет, и они были просто вытеснены? Хорошо, это то место, где бинарная оптимизация, безусловно, может помочь», — говорит Роберт Халлок из Intel. «Мы можем просто пометить это и сказать: „Эй, оставайся локально, не вытесняй меня“. Довольно мощная возможность».
Существует некоторая выгода в производительности в небольшом количестве игр, но iBOT имеет гораздо больший потенциал, как только вы поймете, как он работает. Это рычаг, через программное обеспечение, для повышения IPC. Каждый раз, когда происходит промах кэша, неверное предсказание ветвления, спинлок или что-либо еще, что идет не так при выполнении инструкций, IPC немного снижается. Каждый раз, когда iBOT может получить правильные данные, выбрать правильную ветвь и избежать «активного ожидания» (busy waiting), когда поток активен, но ничего не делает, IPC увеличивается. Это незначительные различия на микроуровне, но если их сложить, можно получить неплохое общее улучшение производительности.
Intel применяет iBOT к играм, но он может работать с любым приложением. В качестве доказательства концепции у нее есть профиль для Geekbench. Geekbench — это бенчмарк, и точка. Он запускает некоторые рабочие нагрузки, приближенные к реальным, но пытается получить всестороннее представление о производительности за один прогон, который длится около пяти минут. Это не всестороннее представление о производительности в реальных условиях. Однако для Intel Geekbench — это легкая добыча, чтобы продемонстрировать, что iBOT может делать в приложениях.
С iBOT наблюдается скачок производительности около 3% в многопоточном режиме и около 5% в однопоточном режиме. Опять же, это не переносится на какое-либо приложение прямо сейчас, но это показывает, что у iBOT есть потенциал за пределами игр. Это особенно верно для легкопоточных рабочих нагрузок. При минимальных показателях однопоточных приложений 5%-ный скачок является существенным.
«Мы просто говорим: посмотрите, чего мы можем достичь с помощью неигрового контента, используя этот стандартный набор модулей», — сказал мне Халлок. «Я хочу быть абсолютно ясным: если бы бинарная оптимизация работала на реальном компиляторе Clang, результат производительности мог бы отличаться от того числа, которое вы видите в Geekbench, потому что это другая рабочая нагрузка… но мы надеемся, что сможем хотя бы обрисовать картину того, что существует большая возможность для чего-то, выходящего за рамки игр».
Первоначальные результаты iBOT солидны. Мы не видим прорывов в производительности, ломающих линейку, и он поддерживается только в установленном списке игр, популярных среди сообщества бенчмаркинга. Если вы обновляете свой ЦП и
хотите поиграть в недавно вышедшую Crimson Desert, iBOT вам ничем не поможет, и, возможно, никогда не поможет, если Intel не сможет найти оптимизации с помощью своего набора инструментов.
Тем не менее, я отношусь к iBOT со скептическим оптимизмом, потому что он кажется очень многообещающим, особенно когда речь идет об оптимизации старых архитектур под новые приложения или наоборот. Он интересно сближает программное и аппаратное обеспечение, что имеет много положительных последствий. Главный вопрос в том, сохранит ли Intel этот курс и действительно ли со временем найдется достаточно оптимизаций.

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

Автор – Jake Roach

Оригинал статьи

Intel
100,4 тыс интересуются