AMD и Intel опубликовали полную спецификацию расширений ACE (AI Compute Extensions) — единого стандарта матричного ускорения для процессоров x86
При том же числе входных векторов ACE выполняет в 16 раз больше операций, чем инструкции AVX10, благодаря двумерным матричным (tile) регистрам
ACE решает проблему неэффективного перемножения матриц на центральном процессоре, добавляя выделенные блоки кремния специально под эту задачу
Стандарт объединяет разработку под искусственный интеллект: фреймворки вроде PyTorch и TensorFlow смогут писать единый путь выполнения кода для всех процессоров Intel и AMD
ACE нативно поддерживает все востребованные форматы данных, включая блочно-масштабированные MX-форматы Open Compute Project, что упрощает перенос задач между NPU и процессором
Первая аппаратная поддержка ожидается не раньше архитектуры AMD Zen 7 — ориентировочно в 2028 году
Когда речь заходит о «запуске модели искусственного интеллекта», по умолчанию подразумевается видеокарта (GPU) — но далеко не каждая задача ИИ подходит для такого оборудования. Небольшие модели или операции, чувствительные к задержкам и рассчитанные на одного пользователя, нередко выгоднее выполнять на центральном процессоре (CPU): так удаётся избежать накладных расходов на пересылку данных между видеокартой и процессором. К тому же существует масса ситуаций, когда отдельной видеокарты попросту нет либо доступно лишь скромное встроенное решение с ограниченными возможностями. Именно для таких сценариев Intel и AMD опубликовали полную спецификацию расширений ACE — набора инструкций, который делает выполнение ИИ-задач на процессорах x86 проще и энергоэффективнее.
Источник изображения - Getty Images
Что такое ACE и зачем понадобился новый стандарт
ACE (AI Compute Extensions) — это технический стандарт, который опирается на уже существующие регистры AVX10, но добавляет кремний, отведённый специально под перемножение матриц. Преимуществ здесь несколько, но ключевые — заметно более высокая энергоэффективность, упрощение разработки и оптимизации, а также использование 512-битных входных данных AVX. Последнее обеспечивает лёгкую интеграцию с уже имеющимися конструкциями и избавляет от необходимости в специальных входных данных, привязанных к ACE.
Расширение появилось не в вакууме. Осенью 2024 года AMD и Intel создали x86 Ecosystem Advisory Group (EAG) — совместную инициативу, цель которой согласовать развитие платформы x86 и снизить разнобой между производителями. На этой площадке две компании договорились о четырёх опорных стандартах: FRED (новая модель обработки прерываний), AVX10 (объединение AVX-512 и AVX2 в единое векторное расширение), ChkTag (аппаратная разметка памяти для защиты от уязвимостей вроде переполнения буфера) и, наконец, ACE — матричное расширение для ускорения нагрузок искусственного интеллекта. ACE задуман как дополнение к AVX10, а не его замена.
Стандартизация важна сама по себе. Раньше новые возможности x86 появлялись то у одного производителя, то у другого, а внутри линеек распределялись неравномерно между настольными, рабочими и серверными решениями. Единый набор инструкций, который поддержат обе компании, даёт разработчикам весомый стимул им пользоваться — и помогает избежать той фрагментации, что в своё время преследовала набор AVX-512 с его многочисленными вариациями.
Почему перемножение матриц — это так важно
Перемножение матриц — краеугольный камень нагрузок искусственного интеллекта: берём таблицу чисел и прогоняем по всему массиву цикл «умножение-сложение». Такое всегда было возможно практически на любом процессоре, пусть и с ограниченной скоростью. Но даже сегодня выполнение этих циклов потребляет много энергии — в том числе при использовании инструкций умножения-накопления AVX10 в архитектуре x86. По сути это «костыль»: AVX изначально не проектировался под двумерные матричные операции.
Корень проблемы — в размерности. Классические векторные инструкции SIMD (одна инструкция — множество данных), к которым относится и AVX, работают с одномерными данными. А машинное обучение, построенное на операции умножения с накоплением матриц (MMA), требует обработки уже в двух измерениях. ACE как раз и закрывает этот разрыв, добавляя в набор инструкций полноценную двумерную матричную структуру.
Откуда берётся прирост в 16 раз
При одинаковом количестве входных векторов ACE выполняет в 16 раз больше операций по сравнению с AVX10. Важная оговорка: это не означает автоматического 16-кратного ускорения — итог зависит от конкретной реализации. Однако разумно ожидать, что в будущих разработках Intel и AMD выделят под эту задачу больше кремния ради дополнительной производительности. Вдобавок, поскольку каждая инструкция ACE выполняет больше работы, чем эквивалентный цикл AVX10, снижаются накладные расходы на инструкции процессора и потенциально лучше используется пропускная способность оперативной памяти — причём сразу, без дополнительной настройки.
Откуда конкретно берётся эта цифра, понятно из устройства новых регистров. ACE вводит в набор инструкций x86 восемь архитектурных матричных (tile) регистров, каждый шириной 512 бит и с 16 строками — этого достаточно, чтобы хранить матрицу 16×16 с 32-битным типом данных для накопления результата. За один такт такая конструкция формирует 256 новых произведений и накапливает их в матричном регистре, не затирая предыдущие значения, — в сумме до 1024 умножений за такт. Для сравнения: «голый» AVX без оптимизаций трактует 512-битный вектор как простую строку из 64 элементов (8-битные данные) и даёт лишь 64 умножения. Скачок с 64 до 1024 операций и есть источник заявленного 16-кратного выигрыша.
При этом разработчики постарались переиспользовать уже имеющуюся инфраструктуру. По задумке новые матричные регистры размещаются в том же физическом регистровом файле, что и 512-битные ZMM-регистры AVX-512/AVX10. На вход ACE-операции получают данные из ZMM-регистров, а матричные регистры выступают накопителем и местом для результата — причём итог можно быстро сконвертировать обратно в обычные SIMD-регистры. Такой подход экономит транзисторы и упрощает встраивание расширения прямо в ядро процессора.
Единый путь для разработчиков и поддержка форматов данных
Выгоды выходят далеко за рамки простого сокращения числа инструкций на ту же задачу. ACE задуман как независимый от реализации: фреймворки машинного обучения и их базовые библиотеки (PyTorch, TensorFlow) смогут писать единственный путь выполнения кода вместо нескольких вариаций, зависящих от конкретного оборудования и степени поддержки AVX.
ACE нативно поддерживает практически все типы данных, востребованные в операциях машинного обучения, — в том числе целочисленный INT8, 8-битные форматы с плавающей запятой (OCP FPM8, MXFP8, MXINT8) и 16-битный Bfloat16. Кроме того, расширение умеет нативно работать с блочно-масштабированными MX-форматами от Open Compute Project, чего AVX10 не обеспечивает. На старте ACE включает инструкции преобразования между этими форматами; в перспективе не исключено добавление и более компактных типов вроде FP6 или FP4.
Отдельно стоит выделить гибкость распределения нагрузки. Разработчики смогут переносить часть задач, обычно отводимых NPU, обратно на процессор — когда что-то нужно посчитать быстро и прямо сейчас. В таких ситуациях огромный плюс в том, что не приходится учитывать различия между разными NPU: ACE предлагает единую цель для всего оборудования на архитектуре x86.
Когда ждать ACE в железе
Первой архитектурой с поддержкой ACE, судя по всему, станет AMD Zen 7, выход которой ориентировочно намечен на 2028 год. На дорожной карте AMD для этого поколения значатся «новый матричный движок» и расширение поддержки форматов данных ИИ — что вполне укладывается в описание ACE. Документация спецификации во многом написана инженерами AMD, хотя Intel также участвовала в работе над стандартом, по меньшей мере на более позднем этапе.
Принципиальное отличие от прежнего подхода Intel в том, что охват у ACE заметно шире. Серверное расширение AMX от Intel было доступно только в процессорах Xeon, тогда как ACE задумано для всего диапазона устройств — от серверов до ноутбуков, включая мобильные решения. Если поддержку удастся встроить прямо в ядро через совместное использование физического регистрового файла без чрезмерного роста числа транзисторов, расширение может стать частью всех ядер x86, а не отдельным ускорителем за их пределами. Сроки появления поддержки в процессорах Intel пока не названы.













