Как вы знаете, процессор — это сердце любой вычислительной системы, от характеристик которого зависят все остальные процессы устройства. И чтобы с каждым новым поколением устройств их эффективность увеличивалась, производительность процессоров постоянно росла. Были разные способы улучшить CPU — увеличить количество ядер, поднять тактовые частоты, добавить Hyper-Threading. Все это относится к архитектурным изменениям, но эффективность чипа можно поднять и другим, более элегантным методом — математикой, а если вернее, то расширениями наборов SIMD-инструкций, которые сейчас известны всем под именем AVX. Вы могли даже не знать о них, хотя пользуетесь ими буквально каждый день, когда запускаете игры, монтируете видеоролики и, наконец, запускаете локальные ИИ-модели. Эта технология не нова, ведь индустрия AVX-расширений прошла долгий и тернистый путь от первых MMX в Intel Pentium до AVX-512 в топовых серверных чипах Xeon и EPYC, выступая новым локомотивом развития центральных процессоров В этой статье специалисты компании ServerFlow расскажут вам, что из себя представляют AVX-инструкции, какие их вариации существуют и где используется AVX в наши дни.
Эволюция SIMD в x86: от MMX к AVX-512
На дворе 1996 год. Процессоры могут обрабатывать всего лишь восемь 32-битных регистров, простейшие задачи выполняются по несколько минут, но юзеры по всему миру уже считают это венцом творения вычислительной техники. И вот, наступает 1997 год, и происходит революция, которая стала началом эры SIMD-расширений для x86 CPU. В этом году компания Intel выпустила новое поколение процессоров Intel Pentium, в которых появился революционный набор команд MMX (MultiMedia eXtensions), в который впервые добавили поддержку восьми 64-битных регистров для целочисленных операций, что позволило кратно разогнать возможности чипа и значительно увеличить его производительность в задачах мультимедиа, математике и других ходовых задачах. Именно MMX-расширения сделали Intel Pentium не просто хитом продаж, а легендой ушедшей эпохи.
Intel Pentium 166 MMX — первый в индустрии центральный процессор с поддержкой расширения SIMD-инструкций MMX. Источник: .
Прошло еще два года, и Intel, поняв успех MMX, уже в 1999 году выпустила процессоры Intel Pentium III с новым типом инструкций SSE (Streaming SIMD Extensions), на фоне которых MMX казался технологией каменного века. В SSE ширина регистров была снова увеличена в два раза до 128 бит, а также появились наборы инструкций для работы с числами одинарной точности. Это был качественный скачок, увеличивающий скорость обработки данных, поэтому SSE стал стандартом для задач графики, игр, а в будущем он заложит основу для машинного обучения.
Центральный процессор Intel Pentium III Katmai, в который впервые добавили инструкции SSE. Источник: .
Intel не останавивалсь, поэтому эволюция продолжилась с выходом Pentium 4 в 2000 году, где снова появился новый тип инструкций SSE2: он добавил поддержку чисел двойной точности и целочисленных операций в 128-битных регистрах, фактически заложив основу для будущего появления архитектуры x86-64. Последующие 10 лет Intel продолжала улучшать SSE, выпуская новые версии SSE3, SSSE3, SSE4.1/4.2. Они также добавляли новые инструкции, но не меняли саму архитектурную модель SIMD — Intel все время интегрировала новые наборы команд поверх старых, что привело к нагромождению инструкций и исчерпанию пространства под новые функции. Это потребовало кардинальных изменений, и их принесло появление AVX1.
Intel Core i7-990X — последний центральный процессор, выпущенный Intel перед релизом нового семейства инструкций AVX1. Источник: .
AVX (AVX1): рождение новой эры широких векторов (2011)
Прорыв случился в 2011 году с появлением первых полноценных AVX инструкций в процессорах Intel Sandy Bridge (все настольные Core i7 второго поколения) и AMD Bulldozer (FX-8150 и Opteron 6200). Уже по традиции, разрядность SIMD-регистров вновь увеличилась вдвое — с 128 бит до 256 бит, что удвоило скорость выполнения вычислений. Но главное нововведение AVX — поддержка нового формата кодирования инструкций VEX, который значительно упростил интеграцию/исполнение новых команд. Помимо этого, изменилась и сама архитектура AVX-инструкций. Если SSE были ориентированы в первую очередь операции с целыми числами, числами двойной и одинарной точности, то AVX сфокусированы на числа с плавающей запятой и векторные операции, тогда как целочисленная арифметика осталась 128-битной, что по-началу сдерживало распространение нового набора инструкций. В то время от AVX1 в основном ускорялись задачи мультимедиа, научных и финансовых вычислений. К примеру, библиотека кодека H.264 довольно быстро получила AVX-оптимизации вместо SSE2, что дало несколько десятков процентов прироста на FullHD видео, а AVX в линейной алгебре давал ощутимый прирост в FP64-вычислениях. Товарищи которые в то время работали в матлаб это оценили по достоинству.
В тот же период AMD пыталась продвинуть свои проприетарные расширения FMA4 и XOP, особенностью которых было разделение 256-битного регистра на модули по 128-бит. Это снижало TDP процессора и обеспечивало сопоставимый AVX уровень производительности, но далеко не во всех операциях. Еще одним преимуществом FMA4 была возможность использовать большее количество функций, чем традиционный AVX, но в те времена функционала инструкций Intel было более чем достаточно. Intel отказалась внедрять поддержку FMA4 и XOP в свои архитектуры, поэтому идея AMD вывести свои проприетарные инструкции в массы была забыта в веках, а архитектура Bulldozer стала позором для красной компании.
Intel Core i7-2600 — легендарный десктопный чип с поддержкой AVX-инструкций. Источник: .
AVX2 и FMA3: универсальный стандарт для вычислений (2013)
Следующий эволюционный виток SIMD-инструкций — появление AVX2 в архитектуре Haswell от Intel и позже в десктопных чипах от AMD на архитектуре Excavator. AVX2 распространил 256-битную обработку данных на целочисленные операции, закрыв главный недостаток AVX1, что еще больше расширило сценарии использования SIMD-расширений — по сути, большинство 256-битных операций были просто скомпилированы с инструкций семейства SSE. Но без внедрения принципиально новых инструкций не обошлось, например, добавили команды VGATHER для упорядочивания загрузки данных, что улучшило производительность в задачах параллелизации. Но главной фишкой AVX2 стало ускорение видеокодирования по стандарту H.265 — новые инструкции обеспечили 15% прироста производительности относительно AVX1, причем, чем сложнее пресет, тем больше выигрыш. Выигрыш есть и в области сжатия данных, шифрования и баз данных — в общем, ускорились практически все CPU-нагрузки, и благодаря этому AVX2 остается популярным до сих пор.
AMD Athlon X4 845 — первый десктопный процессор AMD с поддержкой AVX2. Источник: .
Отдельно выделяются инструкции FMA3, которые вышли несколько позже основного релиза AVX2 и формально не являлись его частью, но они также привнесли новые интересные функции. Говоря простыми словами, Intel оценила потуги AMD при создании инструкций FMA4, но делить ширину регистра на два модуля по 128 бит компания не стала — вместо этого, Intel взяла в разработку возможность размещать больше расширений инструкций для задела на будущее. С выходом Haswell все основные компиляторы стали генерировать FMA3 расширения при включении соответствующего FMA-режима, и расширение быстро стало стандартным инструментом для оптимизации вычислительных операций — в линейной алгебре эти инструкции давали огромный прирост вплоть до 80%, графика также получила ускорение за счет FMA3. AMD, уже отпустившая идею продвигать FMA4, включила поддержку FMA3 в процессоры Piledriver и Excavator, но полностью потенциал новых инструкций AMD смогла реализовать лишь в первом поколении Zen, где FMA3 работает на полной ширине 256 бит и без ограничения 2×128.
AVX-512: революция в ширине и гибкости (2016-2017)
Выход AVX-512 в серверных сопроцессорах Intel Xeon Phi Knights Landing в 2016 году стал самым крупным расширением SIMD за всю историю архитектуры x86. Главное преимущество — очередное удвоение ширины регистра до 512 бит с очевидным увеличением производительности, а также появление так называемых маскирующих регистров — крайне мощного инструмента, избавляющего от ветвлений операций и лишних движений данных. Благодаря маскирующим регистрам чип научился обрабатывать векторные операции ровно в той степени, чтобы выполнить ту или иную задачу, а не вычислять всю функцию, теряя время. Ну и конечно же не обошлось без новых категорий инструкций, например, scatter, которые полезны при векторизации данных с зависимостями, а также были добавлены инструкции ускорения математических функций (логарифмы, экспоненты). Все это дает существенный прирост эффективности в широком спектре задач — HPC, ИИ, графика и даже эмуляция.
Центральный процессор Intel Xeon Phi Knights Landing первым ввел инструкции AVX-512. Источник: .
Но самой интересной фичей нового набора инструкций является модульность. В AVX-512 Intel решила вновь перелопатить систему, разделив набор на множество поднаборов (F, VL, BW, DQ, CD и др.) для выполнения разных задач. Базовая — AVX512F (Foundation) – включает самое необходимое: 32 регистров, 512 бит, маски, базовые операции над FP32/64 и INT32/64. Остальное опционально: например, AVX512BW – чтобы были операции над 8/16 бит, AVX512DQ — дополнительные операции в целочисленных умножениях, AVX512VL — дублирование всех этих операций на коротких регистрах. Серверные решения включали расширенные наборы, например, в серверных Xeon Skylake-SP (Purley, 2017) Intel включила F+VL+BW+DQ+CD. В десктопе AVX-512 прижился плохо — ни в одном обычном Core i7/i5 8–11 поколения его не было, за исключением Cannon Lake и мобильных Ice/Tiger Lake, и то были включены только 1-2 поднабора. Причина – необходимость унификации с E-core, а малым ядрам 512 бит не по зубам. В итоге, до 2021 года AVX-512 оставался уделом серверов и энтузиастов с HEDT. С выходом процессоров Rocket Lake ситуация немного изменилась — это поколение получило полную поддержку AVX-512 без каких-либо компромиссов. AVX-512 также работал в ранних реализациях Alder Lake, однако впоследствии Intel полностью отключила эти инструкции, как и в 13, 14 и 15 поколениях десктопных CPU.
Интересный факт — Intel отмечала центральные процессоры с поддержкой AVX-512 особым овальным символом прямо на корпусе чипа, а процессоры без поддержки отмечались квадратным символом. Источник: .
Вместе с топовым функционалом, AVX-512 принес и новые проблемы. Удваивалась не только плотность операций, но и энергопотребление, поэтому чтобы вписаться в TDP, пришлось занижать тактовые частоты. В результате этого прирост производительности в процах с AVX-512 был не 2-кратным, а в лучшем случае 1.5-кратным.
AMD долго наблюдал со стороны: Zen 1/2/3 не поддерживали AVX-512. Лишь в Zen 4 AMD решилась реализовать AVX-512, и то с компромиссами. В Ryzen 7000 и EPYC Genoa Zen4 есть AVX-512, но выполняются они “двойным шагом” — 512-бит инструкция распадается на две 256-бит, выполняемые подряд. Производительность – примерно на уровне Intel Alder/Rocket Lake, но без резкого падения частоты. В результате Zen 4 догнал Intel по функционалу, но не превзошел по производительности. Однако уже в Zen 5 AMD устранила этот недостаток, удвоив аппаратные векторные блоки, что позволило перейти на нативную 512-бит ширину без разделения. Так AMD стала первой, кто реализовал 4×512-бит FMA на ядро (Intel до сих пор имеет максимум 2×512 FMA), что дало прирост 37% в HPC и ИИ-задачах. Но в отличие от Intel, AMD не столкнулась с проблемами реализации AVX-512 в энергоэффективных ядрах Zen4c и Zen5c благодаря нативной поддержке ветвления 512 битного регистра на два регистра по 256 бит.
AVX10: новый этап развития SIMD
Эволюция AVX все еще не закончилась, ведь в 2023 году Intel анонсировала новый набор SIMD-расширений AVX10. В тот момент компания пообещала реализовать новые инструкции в архитектурах Granite Rapids / Diamond Rapids / Lunar Lake, и действительно, в серверных центральных процессорах Granite Rapids он все-таки появился, и сразу же всех разочаровал — по сути, AVX10.1 был просто переименованным AVX-512 и буквально не принес никаких нововведений. Единственное, что изменилось в AVX10.1 — набор инструкций позволял использовать маскированные регистры на E-ядрах, и то только в 256-битном регистре. Но с выходом AVX10.2 в процессорах Diamond Rapids уже должен порадовать новым функционалом, предположительно, AVX-VNNI-INT16, поддержка FP8, или расширения для матриц. Но сдержит ли Intel свое обещание — узнаем уже во втором квартале 2026 года.
Intel анонсирует выход AVX10. Источник: .
AVX для искусственного интеллекта и не только
Поскольку в основе искусственного интеллекта лежит низкоточная математика, в какой-то момент инженерам Intel в голову пришла идея — почему бы не добавить специальные низкоточные форматы вычислений в наши центральные процессоры? Так и появились специализированные AVX-инструкции для ИИ-инференса.
С бумом ИИ возникла потребность в ускорении низкоточной арифметики. Vector Neural Network Instructions (VNNI), впервые добавленные в серверных чипах Cascade Lake (2019), стали ответом на запросы новой, крайне перспективной индустрии. VNNI добавляют инструкции для вычислений в форматах INT8/INT16/INT32, объединяя несколько операций со скалярными произведениями (умножение, сложение, сдвиг) в одну. Это кратно ускоряло матричные умножения сначала в сверточных, а затем и в трансформерных ИИ-моделях при локальном инференсе на CPU.
Но в гибридных процессорах Intel (Alder Lake, Raptor Lake) появилась диллема: так как VNNI были реализованы через 256-битные регистры, больщие P-ядра поддерживали AVX-512-VNNI, а маленькие E-ядра — нет, что приводило к тому, что VNNI были малопригодны в практических ИИ-сценариях. Решением стал AVX-VNNI — VEX-версия тех же инструкций для 256-битных векторов, которая уже стала поддерживать и E-ядра. AMD аналогично реализовала поддержку VNNI в своих процессорах на архитектуре Zen 4 и Zen 5, благодаря чему чипы вполне успешно справлялись с INT8/INT16 операциями, в том числе и на энергоэффективных ядрах Zen c.
AMD объявляет об интеграции расширенных AVX-инструкций в архитектуре Zen 4. Источник: .
Поддержка форматов пониженной точности: BF16 и FP16 (2020+)
Для еще большего ускорения ИИ-вычислений в AVX-512 добавили поддержку форматов с плавающей запятой пониженной точности:
BFloat16 (BF16). Сохраняет эффективность FP32 при меньшем расходе вычислительных ресурсов, поэтому формат отлично прижился в инференсе и обучении. Инструкция VDPBF16PS в чипах Intel дополнительно выполняет скалярное произведение, что увеличивает эффективность вычислений BF16. Поддержка BF16 была введена раньше, чем FP16, так как формат было проще интегрировать в чипы без изменения их аппаратной архитектуры.
FP16 (IEEE half-precision). Классический 16-битный формат, популярный в медиа и инференсе ИИ. Полная поддержка арифметики AVX-512-FP16 появилась лишь в 2023 году в чипах Sapphire Rapids.
Intel, будучи пионером в серверном сегменте, активно продвигала вычисления BF16 и FP16 на CPU (AVX512_BF16 впервые были добавлены в Cooper Lake), пытаясь найти новое применение для своих Xeon в эпоху доминирования GPU в обучении ИИ. AMD также решила не отставать и добавила поддержку BF16 в AVX-512 на серверных чипах Zen 4, а затем и в Zen 5.
Advanced Matrix Extensions (AMX) – матричные ядра в CPU (2023)
AMX стал качественным скачком, а не эволюцией AVX. AMX представляли из себя выделенные матричные ускорители (ядра) внутри CPU, появившиеся еще в Intel Xeon Scalable 4-го поколения. Вместо векторных регистров используются новые 2D тайловые-регистры, и специализированные инструкции (TDPBF16PS, TDPBSSD) для умножения матриц INT8/BF16, что радикально повышает производительность в задачах глубокого обучения ИИ-моделей. Звучит как прорыв, не так ли? Но нет, AMX остался, по сути, нишевой технологией Intel, которая реализуется в топовых серверных CPU компании. AMD не стала внедрять прямой аналог AMX в свои CPU, хотя ходят слухи, что в Zen6 хочет добавить технологию BMM, которая будет работать схожим образом. Intel возлагала большие надежды на AMX и даже выпустила специализированный Xeon Max с HBM-памятью, большим количеством матричных ядер и фокусом на обучение/инференс ИИ, пытаясь неудачно конкурировать с GPU в этом сегменте. Но пропасть в производительности и эффективности все равно осталась колоссальной. Тысячи потоковых ядер GPU по-прежнему вне конкуренции для обучения и крупного инференса, оставив CPU роль платформы для “краевых” вычислений, доработки и сценариев с ограничениями по задержке или совместимости. А текущие реалии дефицита оперативной памяти, по сути, окончательно похоронили идею инференса ИИ на CPU, ведь для локального и эффективного развертывания моделей на процессоре нужны терабайты RAM.
Intel Xeon Max 9468 — инновационный центральные процессоры с HBM-памятью и поддержкой инструкций AMX.
Другие специализированные поднаборы: криптография, обработка больших данных
AVX-512 также включает множество узкоспециализированных инструкций, ускоряющих конкретные задачи:
VAES, VPCLMULQDQ: Векторное ускорение алгоритмов шифрования AES-GCM, критически важное для SSL/TLS и защищенных коммуникаций.
GFNI: Инструкции для работы с полем Галуа (используются в erasure coding, RAID).
VPOPCNTDQ, BITALG: Быстрый подсчет больших объемов данных и маннипуляции с ними.
VP2INTERSECT: Поиск пересечений в двух векторных наборах (базы данных, поиск).
Эти расширения реализованы в современных серверных (EPYC 9004/9005 и Xeon Scalable 3-5, Xeon 6) и некоторых высокопроизводительных десктопных процессорах (Ryzen 7000/9000, Core 10-15 поколений).
Что лучше для ИИ: AMX или AVX-512?
Теория это, конечно, хорошо, но что по практике? Что будет, если сравнить два 128-ядерных чипа на P-ядрах: топовый Intel Xeon 6980P с поддержкой AMX-инструкций и AMD EPYC 9755 c полной поддержкой AVX-512 при CPU-инференсе ИИ через движок llama.cpp? Результат будет весьма интересный, ведь победит Xeon c AMX в большинстве реальных инференс-сценариев и в особенности при работе с квантизированными моделями в INT8/BF16. Это объясняется очень просто — механизм внимания и линейные слои модели базируются на матричных алгоритмах, которые полностью соответствуют специализации AMX. В документации Intel указано, что AMX может выполнять 2048 INT8 операций за такт, тогда как AVX-512 — только 256 INT8 операций за такт. В открытых тестах преимущество AMX подтверждается: инференс llama* 3.2B Q8 в llama.cpp, AMX на Intel Xeon показывал примерно вдвое больше токенов в секунду, чем Xeon без AMX (3-е поколение Scalable). Ванильный AVX-512, в свою очередь, оптимизирован для векторных операций, которые редко используются в ИИ напрямую, но задействуются в компиляции или инференсе на тензорных ядрах. Конечно, если выбор стоит между инференсом на AMD EPYC с AXV-512 и инференсом на EPYC без AVX-512, то эффективнее себя покажет первый процессор, особенно если в коде модели задействуются векторы, но в большинстве случаев выигрыш будет минимальным.
Кто сильнее в AVX: Intel vs AMD?
Традиционно Intel выступала драйвером инноваций в SIMD: она первой представила AVX, AVX2, AVX-512, VNNI, AMX. Ее подход часто был агрессивным, иногда в ущерб энергоэффективности и рентабельности процессоров. В свою очередь, AMD долгое время следовала с отставанием, но с фокусом на сбалансированность и эффективность. Ее ранние попытки создать альтернативу полностью провалились, однако в последних поколениях чипов (Zen4, Zen5) AMD не только догнала Intel по поддержке ключевых наборов (AVX-512, VNNI), но и сделала их более доступными в десктопном сегменте без серьезных частотных штрафов. В ближайшей перспективе (Diamond Rapids vs Zen6) паритет по векторным инструкциям сохранится, а борьба сместится в область микроархитектурной эффективности, энергопотребления и экосистемы специализированных ускорителей. Исторически сильнее была Intel как инноватор, но AMD в последние годы демонстрирует выдающуюся способность к эффективной реализации, поэтому не исключено, что главным локомотивом в области SIMD в будущем станет именно AMD.
Несмотря на все очевидные преимущества использования AVX-инструкций, в сети есть много пользователей, которые готовы оспорить их пользу. Источник: .
Выводы
Эволюция AVX от простого удвоения ширины вектора до семейства специализированных расширений для ИИ и смежных задач отражает путь всей индустрии процессоров x86. AVX стал краеугольным камнем производительности в эпоху, когда частотная гонка уступила место оптимизации параллелизма. Эффективное использование AVX требует глубокого понимания не только набора инструкций, но и микроархитектурных особенностей целевого процессора (частотные штрафы, пропускная способность исполнения, задержка), а слепая погоня за использованием самых широких инструкций может дать обратный эффект. AVX незаменим для ключевых задач в HPC, инференсе, медиаобработке. Однако его внедрение должно быть взвешенным, подтверждаться профилированием и учитывать целевую платформу. В десктопных приложениях общего назначения погоня за AVX-512 часто избыточна, тогда как в серверном и научном сегментах это критически важный инструмент. Несмотря на все усилия Intel и AMD, CPU так и не стал и, видимо, не станет топовой платформой для обучения ИИ, но останется ключевым элементом гетерогенных вычислительных систем, где его роль — интеллектуальное управление и выполнение широкого спектра задач, часть из которых будет ускорена его собственными векторными и матричными блоками.
Сейчас тут ничего нет. Ваш комментарий может стать первым.
Скидка 1 500 ₽ или бесплатная доставка - уже сейчас 🔥
Мы ценим обратную связь от клиентов. При оформлении заказа вы можете сообщить о своём намерении поделиться впечатлением о работе ServerFlow после получения товара.
* - скидка предоставляется при покупке от 30 000 рублей, в ином случае предусмотрена бесплатная доставка до ПВЗ СДЭК.
Продолжная использовать наш сайт, вы даете согласие на использование файлов Cookie, пользовательских данных (IP-адрес, вид операционной системы, тип браузера, сведения о местоположении, источник, откуда пришел на сайт пользователь, с какого сайта или по какой рекламе, какие страницы
открывает и на какие страницы нажимает пользователь) в целях функционирования сайта, проведения статистических исследований и обзоров. Если вы не хотите, чтобы ваши данные обрабатывались, покиньте сайт.
При оформлении заказа в ServerFlow вы можете сообщить о намерении оставить отзыв о нашей работе после получения товара.
Нам важно ваше честное мнение. Оно помогает развивать сервис и даёт другим клиентам представление о нашей работе.
Вы можете оставить отзыв на удобной для вас платформе:
Google Maps
2GIS
Яндекс Карты
Как работает акция
Применяя промокод, вы подтверждаете намерение поделиться впечатлением о работе ServerFlow после получения заказа. Мы применяем бонус уже к текущему заказу в знак благодарности за обратную связь.
Условия акции:
скидка 1 500 ₽ при заказе от 30 000 ₽
или бесплатная доставка* при заказе до 30 000 ₽
* Бесплатная доставка заказа осуществляется до ПВЗ СДЭК.