Главная/Блог/Аналитика/Intel ACE: первые патчи GCC для…
Аналитика4 мин чтения · 2 июля 2026 г.

Intel ACE: первые патчи GCC для AI-вычислений на x86

Intel опубликовала начальные патчи GCC для новой архитектуры ACE. Разбираем, чем ACE лучше AMX, как компилятор будет оптимизировать матричные умножения и когда ждать поддержки в GCC 17.

Intel ACE: первые патчи GCC для AI-вычислений на x86

Инженеры Intel опубликовали в списке рассылки GCC первые патчи, реализующие поддержку архитектуры AI Compute Extensions (ACE). Это кросс-вендорное расширение, разработанное совместно с AMD, призвано стать эволюцией существующих Intel AMX (Advanced Matrix Extensions). Цель ACE — повысить эффективность компиляции и выполнения матричных операций для задач машинного обучения (ML) и искусственного интеллекта (AI) на процессорах x86.

01Что такое ACE и чем она отличается от AMX?

ACE (AI Compute Extensions) v1 — это спецификация, утвержденная группой x86 Ecosystem Advisory Group. В отличие от AMX, который является проприетарным решением Intel, ACE позиционируется как открытый стандарт для x86-экосистемы. Архитектура расширяет возможности AVX (Advanced Vector Extensions) и скалярного кода, добавляя специализированные примитивы для матричных вычислений.

Ключевые архитектурные изменения включают:

  • Новое состояние регистров: вводятся регистры тайлов (tile) и масштаба блоков (block scale), аналогичные AMX, но с унифицированным интерфейсом.
  • Обработка данных: операции, потребляющие входные данные из регистров AVX и оперирующие состоянием регистров ACE.
  • Перемещение данных: эффективные операции переноса данных между состоянием ACE и регистрами AVX.
  • Управление системой: новые инструкции для управления состоянием ACE на уровне ОС/ядра.

Главное преимущество ACE — тесная интеграция векторов AVX и тайловых регистров ACE. Это позволяет сочетать высокую плотность вычислений тайловой обработки с богатыми возможностями обработки данных AVX, что критично для современных нейросетевых нагрузок.

💡
Важно для разработчиков. ACE не заменяет AMX полностью, а дополняет его. Компиляторам потребуется умная эвристика для выбора между AVX-512, AMX и новыми инструкциями ACE в зависимости от размера матриц и доступности ресурсов.

02Как работает компиляторная поддержка в GCC

Реализация поддержки ACE в GNU Compiler Collection (GCC) базируется на существующем коде для AMX-TILE и элементах AVX-512. Патчи, опубликованные Intel, представляют собой начальный этап (bring-up), который закладывает фундамент для генерации кода, использующего новые инструкции.

Для практиков, интересующихся внутренним устройством, процесс компиляции кода с использованием ACE включает несколько этапов:

  1. Анализ AST: компилятор идентифицирует паттерны матричных умножений (GEMM) в коде.
  2. Выбор стратегии: на основе флагов целевой архитектуры (например, -mace) выбирается путь генерации кода.
  3. Генерация инструкций: преобразование высокоуровневых операций в последовательность инструкций ACE, включающую перемещение данных в тайловые регистры и выполнение вычислений.

Текущие патчи находятся на стадии обсуждения в списке рассылки GCC. Ожидается, что базовая поддержка ACEv1 войдет в стабильный релиз GCC 17, который планируется к выпуску в следующем году.

terminalbash
# Пример предполагаемого флага компиляции для включения ACE
# (синтаксис может измениться до релиза GCC 17)
g++ -O3 -march=core-ultra-gen3 -mace -o ai_model model.cpp

Параллельно с GCC, поддержка ACE будет добавляться в Clang и другие компиляторы. Для разработчиков это означает необходимость обновления toolchain для получения прироста производительности на новом железе.

03Сравнение: AMX vs ACE

Понимание различий между текущим решением Intel (AMX) и будущим стандартом (ACE) поможет оценить перспективы оптимизации. Ниже приведена сравнительная таблица на основе спецификаций.

Характеристика Intel AMX (AMX-BF16/FP32) Intel/AMD ACE (v1)
Статус Проприетарный (Intel) Открытый стандарт (x86 Ecosystem)
Поддержка в GCC Долгое время (через -mavx512bf16 и др.) Начало поддержки (GCC 17+)
Интеграция с AVX Слабая (отдельные регистры) Тесная (общая шина данных, синхронизация)
Целевая нагрузка Трансформеры, LLM Универсальные AI/ML, включая гибридные сценарии
Совместимость Только Intel (Core Ultra, Xeon) Intel и AMD (в перспективе)
⚠️
Предупреждение по совместимости. Бинарные файлы, скомпилированные с флагом -mace, не будут работать на процессорах, не поддерживающих ACE. Используйте динамическую диспетчеризацию инструкций для обеспечения обратной совместимости.

04Практические шаги для разработчиков

Хотя официальная поддержка в GCC 17 еще впереди, разработчики могут начать подготовку кода. Основные рекомендации:

  1. Используйте современные библиотеки: Библиотеки вроде oneDNN, OpenBLAS и специализированные бэкенды PyTorch/TensorFlow уже начинают внедрять поддержку ACE. Следите за обновлениями этих проектов.
  2. Профилируйте код: Используйте инструменты вроде perf или VTune, чтобы выявить узкие места в матричных операциях. ACE даст максимальный прирост именно в узких местах, связанных с GEMM.
  3. Обновляйте Toolchain: Как только GCC 17 будет доступен в ваших дистрибутивах (или через сборку из исходников), обязательно обновите компилятор для получения выгоды от новых оптимизаций.
terminalbash
# Проверка поддержки инструкций в текущем ядре
grep -i avx /proc/cpuinfo
# В будущем появится флаг ace
# grep -i ace /proc/cpuinfo

05Кому подойдёт / что запустится

Архитектура ACE ориентирована на следующие сегменты:

  • Владельцы нового железа: Процессоры Intel Core Ultra 2-го поколения (Lunar Lake/Arrow Lake) и будущие Xeon с поддержкой ACE. На текущем железе (Sapphire Rapids, Meteor Lake) ACE работать не будет.
  • Разработчики AI/ML: Тем, кто пишет кастомные ядра для нейросетей или оптимизирует инференс на x86. ACE позволит эффективнее использовать ресурсы CPU для задач, где GPU недоступен или неэффективен.
  • Пользователи Linux: Поддержка в GCC и ядре Linux будет первичной. Windows-поддержка зависит от драйверов Intel и AMD.

Для рядовых пользователей, запускающих готовые модели через Python-скрипты, прирост производительности станет заметен только после обновления библиотек (PyTorch, TensorFlow) и компилятора. Однако для практиков, занимающихся оптимизацией «под капотом», ACE открывает новые возможности для тонкой настройки производительности на x86.

Источник: Phoronix ↗