В различных отраслях продолжает возрастать потребность в повышенной вычислительной мощности. Чтобы поддержать повышающийся спрос и усложняющиеся модели использования, есть инновационные решения, реализуемые в наборе команд Intel® AVX-512 (Intel® Advanced Vector Extensions 512), которым уже были оснащены процессоры и сопроцессоры Intel® Xeon Phi™1, а также масштабируемые процессоры Intel® Xeon®.
Intel® AVX-512 — это новый набор команд, который повышает производительность различных рабочих нагрузок, включая научное моделирование, финансовую аналитику, искусственный интеллект и глубинное обучение, 3D-моделирование и анализ данных, обработку изображений, аудио и видео, сжатие данных и шифрование.
Набор инструкций AVX-512 состоит из нескольких отдельных наборов, каждый из которых имеет свой собственный уникальный бит функции CPUID, но однако их обычно группируют, поддерживая генерацию процессора (F, CD, ER, PF, BW, DQ, VL, IFMA, VBMI 4VNNIW, 4FMAPS … см. рис.1).
AVX-512 состоит из нескольких расширений, из которых не все должны поддерживаться всеми реализующими их процессорами. Во всех реализациях требуется только базовое расширение AVX-512F (AVX-512 Foundation).
Использование AVX-512 будет означать, что обработка массивных мультимедийных данных будет проходить с меньшей нагрузкой на процессор. Точнее, работа с использованием аппаратных ресурсов, совместимых с AVX-512, будет максимально эффективна. На этих задачах потребление снизится, а производительность вырастет.
Рис. 1. Процессоры с AVX-512.
Появились усовершенствованные возможности векторной обработки. Благодаря возможностям для осуществления операций с 512-битными векторами набор команд Intel® AVX-512 справится даже с наиболее требовательными вычислительными задачами. Для повышения производительности наиболее ресурсоемких вычислительных задач Intel® AVX 2.0 позволяет выполнять 16 операций с плавающей запятой в секунду с удвоенной точностью и 32 операции с плавающей запятой в секунду с одинарной точностью за тактовый цикл в 256-битных векторах, а также до двух 256-битных команд Fused Multiply-Add (FMA).
AVX-512 расширяет систему команд AVX до векторов длиной 512 бит при помощи кодировки с префиксом EVEX. Расширение AVX-512 вводит 32 векторных регистра (ZMM), каждый по 512 бит, 8 регистров масок, 512-разрядные упакованные форматы для целых и дробных чисел и операции над ними, тонкое управление режимами округления (позволяет переопределить глобальные настройки), операции broadcast (рассылка информации из одного элемента регистра в другие), подавление ошибок в операциях с дробными числами, операции gather/scatter (сборка и рассылка элементов векторного регистра в/из нескольких адресов памяти), быстрые математические операции, компактное кодирование больших смещений. AVX-512 предлагает совместимость с AVX, в том смысле, что программа может использовать инструкции как AVX, так и AVX-512 без снижения производительности. Регистры AVX (YMM0-YMM15) отображаются на младшие части регистров AVX-512 (ZMM0-ZMM15), по аналогии с SSE и AVX регистрами Ice Lake.