La especificación AI Compute Extensions (ACE) define un conjunto de extensiones para la arquitectura x86 orientadas a acelerar tareas de cálculo, con un foco inicial en los kernels de multiplicación de matrices y en los formatos de datos de precisión reducida, dos piezas fundamentales de las cargas de trabajo de aprendizaje automático. ACE no reemplaza el modelo de programación existente: lo amplía. Sobre la base del código AVX y escalar, la propuesta añade primitivas de multiplicación de matrices que operan con un nuevo estado de registros ACE, compuesto por registros de tile y registros de escala por bloque. Estos registros trabajan junto con los registros vectoriales AVX tradicionales, de modo que las operaciones densas de cómputo sobre tiles se combinan con el conjunto ya conocido de operaciones de procesamiento de datos de AVX. La especificación describe varios bloques funcionales. Primero, operaciones de procesamiento de datos que consumen operandos desde registros AVX y producen resultados en el estado de tiles ACE. Segundo, operaciones de movimiento de datos que transfieren valores entre registros AVX y los registros ACE. Tercero, el estado y las operaciones necesarios para que el sistema gestione el nuevo hardware, incluyendo su activación y contexto. ACE se integra de forma estrecha con AVX10, marco bajo el cual se añaden además operaciones dedicadas de conversión de formato, útiles para mover datos entre las representaciones de baja precisión empleadas en inferencia y entrenamiento y los formatos estándar del procesador. En conjunto, ACE persigue ofrecer mayor densidad de cómputo y un camino claro para llevar aceleraciones de tipo matricial al ecosistema x86 sin renunciar a la base de software ya existente.
