Pasar al contenido

AMX, Advanced Matrix Extensions

Referencia de arquitecturaFeex

También llamado AMX, AMX (Advanced Matrix Extensions)

Intel AMX añade al conjunto x86 recursos de cálculo matricial basados en mosaicos (tiles). AMX-TILE y las extensiones aritméticas poseen bits de capacidad independientes, y el sistema operativo debe gestionar el considerable estado de los mosaicos.

Lo que necesita saber

Intel AMX añade al conjunto x86 recursos de cálculo matricial basados en mosaicos (tiles). AMX-TILE y las extensiones aritméticas poseen bits de capacidad independientes, y el sistema operativo debe gestionar el considerable estado de los mosaicos.

Cómo funciona

AMX utiliza registros de mosaico bidimensionales configurados en lugar de los vectores ordinarios YMM/ZMM. La configuración de mosaicos describe las formas activas, mientras que extensiones aritméticas como AMX-INT8 o AMX-BF16 definen operaciones matriciales y formatos numéricos particulares. El software empaqueta datos y selecciona formas válidas dentro de los límites de paleta enumerados.

Dónde resulta útil

Una biblioteca matricial puede desglosar un kernel admitido en cargas de mosaico, operaciones de producto escalar y almacenamientos de mosaico. El coste de empaquetado, las dimensiones de la matriz y la localidad de la caché pueden predominar en cargas de trabajo pequeñas o irregulares. El hardware de mosaicos no hace que todos los operadores de redes neuronales sean aptos para la aceleración.

Cómo comprobar la compatibilidad y la habilitación

Compruebe AMX-TILE y cada extensión aritmética requerida en la hoja 7 de CPUID, enumere los límites de mosaico y confirme el estado habilitado en el sistema operativo. En Linux, las aplicaciones que utilizan datos de mosaico dinámicos deben seguir el flujo ARCH_REQ_XCOMP_PERM documentado; la compatibilidad y los bits de XCR0 por sí solos no bastan.

La disponibilidad de hardware es solo el primer paso. El controlador, el entorno de ejecución, el proveedor de ejecución, los operadores admitidos y el formato numérico deben coincidir con la aplicación. Inspeccione la selección real del backend y las opciones de contingencia en lugar de asumir que una etiqueta de IA significa que todos los modelos se aceleran.

Lo que la función no establece

AMX no implica AVX-512, una NPU general ni todos los formatos aritméticos de AMX. Un bit de CPU por sí solo no establece permisos de proceso ni un estado suficiente de pila de señales. Las formas de mosaico no admitidas o la falta de permisos del sistema operativo pueden generar fallos incluso en un equipo compatible con AMX.

Compatibilidad y rendimiento en la práctica

Compare cargas de trabajo completas bajo condiciones explícitas, incluidas la compilación, las transferencias y los operadores no admitidos. El valor máximo de operaciones por segundo depende de la precisión y de los supuestos de cálculo. No reemplaza las mediciones de latencia, rendimiento, consumo de energía o precisión del modelo.

Lista de comprobación práctica para la verificación

  1. Registre el modelo exacto de procesador o plataforma, así como las versiones de la aplicación, el sistema operativo y el entorno de ejecución involucrados. Conserve la redacción del error o requisito real.
  2. Consulte la referencia del fabricante para ese modelo exacto y, a continuación, inspeccione la capacidad efectiva y el estado habilitado en el entorno donde se ejecuta el programa.
  3. Compare cada requisito del binario o backend seleccionado. Una función con nombre similar, un alias o una etiqueta de tecnología general no son suficientes.
  4. Confirme que la aplicación haya seleccionado la implementación prevista. Utilice sus diagnósticos documentados y una alternativa compatible cuando no se cumplan los requisitos.
  5. Realice un cambio admitido a la vez y repita la misma carga de trabajo. Mantenga disponibles la configuración original y la vía de recuperación.

Si la función aparece listada pero el software no puede usarla

Comience con el componente exacto que falla. Una base de datos de hardware describe la capacidad registrada; el sistema operativo o el hipervisor pueden exponer un entorno efectivo diferente. Un error de instrucción no válida también requiere investigar la instrucción que generó el fallo y la compilación del binario en sí, ya que la corrupción o una instrucción no compatible no relacionada pueden producir un síntoma similar.

Instale la versión de la aplicación, controlador o entorno de ejecución compatible con la plataforma exacta, y utilice la compilación de referencia o de contingencia documentada por el fabricante si es necesario. Una actualización de software no puede crear una instrucción de la que el procesador carece. Los cambios de firmware y directivas de seguridad deben seguir el procedimiento del fabricante del sistema y un plan de recuperación, en lugar de una fórmula de optimización genérica.

Fuentes y alcance de esta explicación

Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: using XSTATE features in user space

Estas referencias establecen el comportamiento arquitectónico y los requisitos de software. No verifican de forma independiente cada valor de función en la página de un modelo de hardware vinculado. Para conocer la compatibilidad de un modelo, consulte las pruebas del fabricante en dicha página y compruebe la configuración efectiva del sistema. Este artículo no proporciona una prueba de rendimiento, certificación ni fecha de revisión independiente.

Fuentes y verificación

Titularidad editorial: Feex. No se registra ninguna fecha de revisión independiente. Cómo investigamos.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · Los volúmenes 1 y 2 describen las familias de instrucciones designadas y CPUID; el volumen 3 describe el estado, la paginación, VMX y los controles de protección. La documentación de la arquitectura no establece la compatibilidad con un modelo en particular.
  • Linux kernel: using XSTATE features in user space · Estado de vector habilitado por el sistema operativo, estado de mosaico habilitado dinámicamente, requisitos de pila de señales y flujo de permisos AMX. El comportamiento específico de Linux no es una garantía sobre otro sistema operativo.

¿Fue útil este artículo?

Un sí o un no es suficiente. Elija un motivo si lo desea o agregue una breve nota.

¿Fue útil este artículo?