Расширенные матричные расширения
Advanced Matrix Extensions ( AMX ), также известные как Intel Advanced Matrix Extensions ( Intel AMX ), представляют собой расширения x86 архитектуры набора команд (ISA) для микропроцессоров Intel , предназначенные для работы с матрицами для ускорения искусственного интеллекта (AI) и машинного обучения ( ML) рабочие нагрузки. [1]
Расширения
[ редактировать ]AMX был представлен Intel в июне 2020 года и впервые поддержан Intel в Sapphire Rapids микроархитектуре для серверов Xeon , выпущенной в январе 2023 года. [2] [3] Он представил двумерные регистры, называемые тайлами, над которыми ускорители могут выполнять операции. Он задуман как расширяемая архитектура; первый реализованный ускоритель называется блоком умножения тайловой матрицы (TMUL). [4] [5]
В версии 46 «Расширения набора команд архитектуры Intel и будущие функции», опубликованной в сентябре 2022 года, было задокументировано новое расширение AMX-FP16. Это расширение добавляет поддержку чисел с плавающей запятой половинной точности . с плавающей запятой половинной точности В версии 48 от марта 2023 года был документирован AMX-COMPLEX, в котором добавлена поддержка комплексных чисел . Оба расширения планируется включить в будущие процессоры Granite Rapids (AMX-COMPLEX - только в Granite Rapids-D). [6] ).
Блок умножения матрицы плитки
[ редактировать ]Модуль TMUL поддерживает BF16 и INT8 . типы ввода [7] AMX-FP16 также добавляет поддержку действительных и комплексных чисел FP16 . Регистровый файл состоит из 8 тайлов, каждый по 16 строк размером 64 байта (32 элемента BF16/FP16 или 64 элемента INT8). Единственная поддерживаемая операция — умножение матриц. [4]
Масштабируемый процессор Intel Xeon 4-го поколения может выполнять 2048 операций INT8 или 1024 операций BF16 за цикл: [8] [9] максимальные входные размеры: для А и для B , где J равен 64 для INT8 и 32 BF16. Умножение матрицы требует умножение и дополнения, тем самым выполняя операций за 16 циклов. [9]
Поддержка программного обеспечения
[ редактировать ]- Поддержка компилятора и ассемблера
- Поддержка операционной системы
- Поддержка glibc для обнаружения функции AMX в процессорах реализована 25 июня 2020 г. [18]
- Поддержка ядра Linux выпущена в версии 5.16. [19]
- VMware vSphere Поддержка для AMX на виртуальных машинах (ВМ), выпущенная в ESXi версии 8.0u1 для виртуальных машин с аппаратной версией 20. [20]
Ссылки
[ редактировать ]- ^ Хемсот, Николь (19 августа 2021 г.). «Благодаря AMX Intel добавляет блеска AI/ML в Sapphire Rapids» . Следующая платформа .
- ^ онлайн, Хайзе (28 июня 2020 г.). «Intel AMX: первая информация об архитектуре расширенных матричных расширений» . Хайз онлайн .
- ^ Катресс, Ян. «Intel Xeon Sapphire Rapids: как добиться монолитности с помощью плиток» . АнандТех .
- ^ Перейти обратно: а б «Расширения набора команд архитектуры Intel® и будущие функции» .
- ^ Шор, Дэвид (29 июня 2020 г.). «Расширение x86 Advanced Matrix Extension (AMX) обеспечивает матричные операции; дебютирует с Sapphire Rapids» .
- ^ Ларабель, Майкл (12 июля 2023 г.). «Поддержка Intel Granite Rapids D объединена с GCC 14» . Фороникс .
- ^ «Расширенное расширение матрицы (AMX) — x86 — WikiChip» . ru.wikichip.org .
- ^ «Ускорение рабочих нагрузок искусственного интеллекта (ИИ) с помощью расширений Intel Advanced Matrix Extensions (Intel AMX)» (PDF) . Интел . Проверено 13 апреля 2023 г.
- ^ Перейти обратно: а б «Справочное руководство по оптимизации архитектур Intel® 64 и IA-32, том 1» . Интел.
- ^ «Что нового в LLVM для процессоров Intel® Xeon® и Max серий четвертого поколения» . Проверено 21 апреля 2023 г.
- ^ Ларабель, Майкл (2 июля 2020 г.). «Поддержка Intel AMX начинает появляться в LLVM» . Фороникс . Проверено 2 июля 2020 г.
- ^ «[X86-64] Поддержка инструкций Intel AMX» . Гитхаб . 2020-07-02 . Проверено 2 июля 2020 г.
- ^ Перейти обратно: а б Ларабель, Майкл (2 июля 2020 г.). «Поддержка Intel AMX появилась в ассемблере GNU» . Фороникс . Проверено 2 июля 2020 г.
- ^ «Серия выпусков GCC 11 — изменения, новые функции и исправления — проект GNU» . Проверено 21 апреля 2023 г.
- ^ «[ИСПРАВЛЕНИЕ] Включить поддержку GCC для AMX» . 06.07.2020 . Проверено 9 июля 2020 г.
- ^ «Включить поддержку GCC для AMX-TILE, AMX-INT8, AMX-BF16. · gcc-mirror/gcc@5c60984» . Гитхаб . Проверено 05 сентября 2022 г.
- ^ «фиксируется с помощью Intel AMX» . 2020-07-02 . Проверено 2 июля 2020 г.
- ^ «x86: обнаружение расширений Intel Advanced Matrix» . 2020-07-02 . Проверено 2 июля 2020 г.
- ^ «Функции Linux 5.16 включают FUTEX2, Intel AMX, Folios, DG2/Alchemist, дополнительную поддержку Apple Silicon» . Фороникс .
- ^ «Доступ к инструкциям Sapphire Rapids AMX в vSphere» . Эрл К. Руби III . 24 августа 2023 г.