Extensiones a la arquitectura del conjunto de instrucciones x86
Las Extensiones de Matriz Avanzadas ( AMX ), también conocidas como Extensiones de Matriz Avanzadas de Intel ( Intel AMX ), son extensiones de la arquitectura del conjunto de instrucciones x86 (ISA) para microprocesadores de Intel diseñadas para trabajar en matrices para acelerar las cargas de trabajo de inteligencia artificial (IA) y aprendizaje automático (ML). [1]
Extensiones
AMX fue presentado por Intel en junio de 2020 y fue respaldado por primera vez por Intel con la microarquitectura Sapphire Rapids para servidores Xeon , lanzada en enero de 2023. [2] [3] Introdujo registros bidimensionales llamados mosaicos sobre los cuales los aceleradores pueden realizar operaciones. Está pensada como una arquitectura extensible; el primer acelerador implementado se llama unidad de multiplicación de matriz de mosaicos (TMUL). [4] [5]
En la revisión 46 de Intel Architecture Instruction Set Extensions and Future Features, publicada en septiembre de 2022, se documentó una nueva extensión AMX-FP16. Esta extensión agrega compatibilidad con números de punto flotante de precisión media . En la revisión 48 de marzo de 2023, se documentó AMX-COMPLEX, que agrega compatibilidad con números complejos de punto flotante de precisión media . Está previsto que ambas extensiones se incluyan en los futuros procesadores Granite Rapids (AMX-COMPLEX, solo en Granite Rapids-D [6] ).
Unidad de multiplicación de matriz de mosaico
La unidad TMUL admite los tipos de entrada BF16 e INT8 . [7] AMX-FP16 y AMX-COMPLEX también agregan compatibilidad con números FP16 reales y complejos . El archivo de registro consta de 8 mosaicos, cada uno con 16 filas de tamaño de 64 bytes (32 elementos BF16/FP16 o 64 elementos INT8). La única operación admitida es la multiplicación de matrices [4]
El procesador escalable Intel Xeon de cuarta generación puede realizar 2048 operaciones INT8 o 1024 BF16 por ciclo: [8] [9] los tamaños de entrada máximos son para A y para B , donde J es 64 para INT8 y 32 para BF16. La multiplicación de matrices requiere multiplicación y sumas, por lo que se realizan operaciones en 16 ciclos. [9]
Soporte de software
- Compatibilidad con compiladores y ensambladores
- Compatibilidad con sistemas operativos
Referencias
- ^ Hemsoth, Nicole (19 de agosto de 2021). "Con AMX, Intel agrega inteligencia artificial y aprendizaje automático a Sapphire Rapids". La próxima plataforma .
- ^ en línea, heise (28 de junio de 2020). "Intel AMX: primera información sobre la arquitectura avanzada de extensiones de matriz". Heise en línea .
- ^ Cutress, Ian. "Intel Xeon Sapphire Rapids: Cómo volverse monolítico con mosaicos". AnandTech .
- ^ ab "Extensiones del conjunto de instrucciones de la arquitectura Intel® y características futuras".
- ^ Schor, David (29 de junio de 2020). "La extensión de matriz avanzada x86 (AMX) incorpora operaciones matriciales; debutará con Sapphire Rapids".
- ^ Larabel, Michael (12 de julio de 2023). "Compatibilidad con Intel Granite Rapids D fusionada con GCC 14". Phoronix .
- ^ "Extensión de matriz avanzada (AMX) - x86 - WikiChip". es.wikichip.org .
- ^ "Acelere las cargas de trabajo de inteligencia artificial (IA) con Intel Advanced Matrix Extensions (Intel AMX)" (PDF) . Intel . Consultado el 13 de abril de 2023 .
- ^ ab "Manual de referencia de optimización de arquitecturas Intel® 64 e IA-32 Volumen 1". Intel.
- ^ "Novedades de LLVM para CPU Intel® Xeon® y Max Series de 4.ª generación" . Consultado el 21 de abril de 2023 .
- ^ Larabel, Michael (2 de julio de 2020). "La compatibilidad con Intel AMX comienza a llegar a LLVM". Phoronix . Consultado el 2 de julio de 2020 .
- ^ "[X86-64] Compatibilidad con instrucciones Intel AMX". GitHub . 2020-07-02 . Consultado el 2020-07-02 .
- ^ ab Larabel, Michael (2 de julio de 2020). "El soporte de Intel AMX llega al ensamblador GNU". Phoronix . Consultado el 2 de julio de 2020 .
- ^ "Serie de lanzamiento de GCC 11: cambios, nuevas características y correcciones - Proyecto GNU" . Consultado el 21 de abril de 2023 .
- ^ "[PATCH] Habilitar soporte GCC para AMX". 2020-07-06 . Consultado el 2020-07-09 .
- ^ "Habilitar compatibilidad con GCC para AMX-TILE, AMX-INT8, AMX-BF16. · gcc-mirror/gcc@5c60984". GitHub . Consultado el 5 de septiembre de 2022 .
- ^ "se compromete con Intel AMX". 2020-07-02 . Consultado el 2020-07-02 .
- ^ "x86: Detectar extensiones de matriz avanzadas de Intel". 2020-07-02 . Consultado el 2020-07-02 .
- ^ "Las características de Linux 5.16 incluyen FUTEX2, Intel AMX, Folios, DG2/Alchemist y más compatibilidad con Apple Silicon". Phoronix .
- ^ "Acceso a instrucciones AMX de Sapphire Rapids en vSphere". Earl C. Ruby III . 24 de agosto de 2023.
Enlaces externos
- Guía de intrínsecos de Intel
- Wikichip: Extensión de matriz avanzada (AMX) - x86