Описание тега avx512

AVX512 - это следующее поколение инструкций Intel SIMD, расширяющее существующие функциональные возможности AVX до 512 бит.

AVX512 - это набор расширений набора команд для x86, который поддерживает 512-битные векторы SIMD.

AVX512 разбит на следующие подрасширения. Хотя все реализации AVX512 должны поддерживать AVX512-F, остальные не являются обязательными.

  • AVX512-F (фундамент)
  • AVX512-CD (Обнаружение конфликтов)
  • AVX512-ER (экспоненциальный и взаимный)
  • AVX512-PF (предварительная выборка)
  • AVX512-BW (байтовые и словарные инструкции)
  • AVX512-DQ (инструкции с двойным и четвертым словом)
  • AVX512-VL (длина вектора)
  • AVX512-IFMA (52-битное целочисленное умножение-сложение)
  • AVX512-VBMI (обработка векторных байтов)
  • AVX512-VPOPCNT (подсчет векторной популяции)
  • AVX512-4FMAPS (4 x Fused Multiply-Add Single Precision)
  • AVX512-4VNNIW (4 инструкции нейронной сети)
  • AVX512-VBMI2 (обработка векторных байтов 2)
  • AVX512-VNNI (инструкции нейронной сети?)
  • AVX512-BITALG (битовые алгоритмы)
  • AVX512-VAES (векторные инструкции AES)
  • AVX512-VGFI (Арифметика поля Галуа)
  • AVX512-VPCLMULQ (векторное умножение без переноса)

Поддерживающие процессоры:

  • Intel Xeon Phi Knights Landing: AVX512-(F, CD, ER, PF)
  • Intel Xeon Phi Knights Mill: AVX512-(F, CD, ER, PF, VPOPCNT, 4FMAPS, 4VNNIW)
  • Intel Skylake Xeon: AVX512-(F, CD, BW, DQ, VL)
  • Intel Cannonlake: AVX512-(F, CD, BW, DQ, VL, IFMA, VBMI)
  • Intel Ice Lake: AVX512-(F, CD, BW, DQ, VL, IFMA, VBMI, VPOPCNT, VBMI2, VNNI, BITALG, VAES, VGFI, VPCLMULQ)

Основа (AVX512-F):

Все реализации AVX512 должны поддерживать AVX512-F. AVX512-F расширяет AVX, удваивая размер вектора до 512 бит и удваивая количество регистров до 32. Он также обеспечивает встроенное маскирование с помощью 8 регистров opmask.

AVX512-F поддерживает операции только с 32-битными и 64-битными словами и работает только с zmm (512-битными) регистрами.

Обнаружение конфликтов (AVX512-CD):

AVx512-CD помогает векторизации, предоставляя инструкции для обнаружения конфликтов данных.

Экспоненциальная и взаимная (AVX512-ER):

AVX512-ER содержит инструкции для вычисления обратных и экспоненциальных функций с повышенной точностью. Они используются для быстрого вычисления тригонометрических функций.

Предварительная выборка (AVX512-PF):

AVX512-PF предоставляет инструкции для предварительной выборки сбора / разброса векторов.

Байт и слово (AVX512-BW):

AVX512-BW расширяет AVX512-F, добавляя поддержку операций с байтами и словами (8/16 бит).

Двойное и четверное слово (AVX512-DQ):

AVX512-DQ расширяет AVX512-F, предоставляя дополнительные инструкции для 32-битных и 64-битных данных.

Длина вектора (AVX512-VL):

AVX512-VL расширяет AVX512-F, позволяя работать с полной функциональностью AVX512 xmm а также ymm регистры (в отличие от только zmm). Это включает в себя маскировку, а также увеличенное число регистров до 32.

52-битное целочисленное умножение-сложение (AVX512-IFMA):

AVX512-IFMA предоставляет объединенные инструкции умножения и сложения для 52-битных целых чисел. (Предположение: вероятно, получено из аппаратного обеспечения FMA с плавающей запятой)

Векторное управление битами (AVX512-VBMI):

AVX512-VBMI предоставляет инструкции для перестановки байтов. Он расширяет существующие инструкции перестановки до побайтной детализации.

Подсчет векторной популяции (AVX512-VPOPCNT)

Векторизованная версия popcnt инструкция для 32-битных и 64-битных слов.

4 x Fused Multiply-Add Single Precision (AVX512-4FMAPS)

AVX512-4FMAPS предоставляет инструкции, которые выполняют 4 последовательных FMA с одинарной точностью.

Инструкции нейронной сети (AVX512-4VNNIW)

Специализированные инструкции по 16-битным целым числам для нейронных сетей. Они следуют тому же формату "4 последовательных" операционных инструкций, что и AVX512-4FMAPS.

Vector Byte-Manipulation 2 (AVX512-VBMI2)

Расширяет AVX512-VBMI, добавляя поддержку сжатия / расширения для размеров слов с разбивкой по байтам.

Инструкции нейронной сети (AVX512-VNNI)

Специализированные инструкции для нейронных сетей. Это настольная /Xeon версия AVX512-4VNNIW на Knights Mill Xeon Phi.

Битовые алгоритмы (AVX512-BITALG)

Расширяет AVX512-VPOPCNT на слово, 8-битные и 16-битные слова. Добавляет дополнительные инструкции по манипулированию битами.

Векторные инструкции AES (AVX512-VAES)

Расширяет существующие инструкции AES-NI до 512-битной ширины.

Арифметика поля Галуа (AVX512-VGFI)

Арифметика для полей Галуа.

Векторное умножение без переноса (AVX512-VPCLMULQ)

Векторизованная версия pclmulqdq инструкция.