Advanced Matrix Extensions

From Wikipedia, the free encyclopedia

Advanced Matrix Extensions (AMX), also known as Intel Advanced Matrix Extensions (Intel AMX), are extensions to the x86 instruction set architecture (ISA) for microprocessors from Intel and Advanced Micro Devices (AMD) designed to work on matrices to accelerate artificial intelligence (AI) / machine learning (ML) -related workloads.[1]

Extensions[]

AMX was introduced by Intel in June 2020 and first supported by Intel with the Sapphire Rapids microarchitecture for Xeon servers, planned for 2022.[2][3] It introduced 2-dimensional registers called tiles upon which accelerators can perform operations. It is intended as an extensible architecture, the first accelerator implemented is called tile matrix multiply unit (TMUL).[4][5]

Tile matrix multiply unit[]

TMUL unit supports BF16 and INT8 input types.[6] The register file consists of 8 tiles, each with 16 rows of size 64-byte (32 BF16 or 64 INT8 values). The only supported operation as for now is matrix multiplication [7]

Software support[]

  • Compiler and assembler support
  • Operating system support
    • glibc support for detecting AMX feature in CPUs committed at 25 Jun 2020[13]
    • Linux kernel support will not be available until at least 5.16[14]

References[]

  1. ^ Hemsoth, Nicole (August 19, 2021). "With AMX, Intel Adds AI/ML Sparkle to Sapphire Rapids". The Next Platform.
  2. ^ online, heise. "Intel AMX: Erste Informationen zur Advanced Matrix Extensions Architecture". heise online.
  3. ^ Cutress, Dr Ian. "Intel Xeon Sapphire Rapids: How To Go Monolithic with Tiles". AnandTech.
  4. ^ https://software.intel.com/content/dam/develop/public/us/en/documents/architecture-instruction-set-extensions-programming-reference.pdf[bare URL PDF]
  5. ^ Schor, David (June 29, 2020). "The x86 Advanced Matrix Extension (AMX) Brings Matrix Operations; To Debut with Sapphire Rapids".
  6. ^ "Advanced Matrix Extension (AMX) - x86 - WikiChip". en.wikichip.org.
  7. ^ "Intel Architecture Instruction Set Extensions and Future Features Programming Reference". Intel. Retrieved 2021-09-26.
  8. ^ Larabel, Michael (2020-07-02). "Intel AMX Support Begins Landing In LLVM". Phoronix. Retrieved 2020-07-02.
  9. ^ "[X86-64] Support Intel AMX instructions". 2020-07-02. Retrieved 2020-07-02.
  10. ^ a b Larabel, Michael (2020-07-02). "Intel AMX Support Lands In The GNU Assembler". Phoronix. Retrieved 2020-07-02.
  11. ^ "commits with Intel AMX". 2020-07-02. Retrieved 2020-07-02.
  12. ^ "[PATCH] Enable GCC support for AMX". 2020-07-06. Retrieved 2020-07-09.
  13. ^ "x86: Detect Intel Advanced Matrix Extensions". 2020-07-02. Retrieved 2020-07-02.
  14. ^ "Linux x86 FPU Code Getting Reworked In Preparation For Intel AMX - Phoronix". Phoronix.

External links[]

Retrieved from ""