Jump to content

Advanced Matrix Extensions: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
MJJoker (talk | contribs)
added reference to GCC
MJJoker (talk | contribs)
addded further reference to initial support in GAS,LLVM
Line 3: Line 3:
'''Advanced Matrix Extensions''' ('''AMX''', also known as '''Intel® Advanced Matrix Extensions or Intel® AMX''') is an extensions to the [[x86]] [[instruction set architecture]] for [[microprocessor]]s from [[Intel Corporation|Intel]] and [[Advanced Micro Devices|AMD]] which is designed to work on matrices and is meant accelerate AI-related workload, was introduced by Intel in June 2020 and first supported by Intel with the [[Sapphire Rapids]] [[microarchitecture]]. It introduces 2-dimensional registers called "tiles" upon which accelerators can perform operations. It is intended as an extensible architecture, the first accelerator implemented is called TMUL (tile matrix multiply unit) <ref>https://software.intel.com/content/dam/develop/public/us/en/documents/architecture-instruction-set-extensions-programming-reference.pdf</ref> <ref>https://fuse.wikichip.org/news/3600/the-x86-advanced-matrix-extension-amx-brings-matrix-operations-to-debut-with-sapphire-rapids/</ref>
'''Advanced Matrix Extensions''' ('''AMX''', also known as '''Intel® Advanced Matrix Extensions or Intel® AMX''') is an extensions to the [[x86]] [[instruction set architecture]] for [[microprocessor]]s from [[Intel Corporation|Intel]] and [[Advanced Micro Devices|AMD]] which is designed to work on matrices and is meant accelerate AI-related workload, was introduced by Intel in June 2020 and first supported by Intel with the [[Sapphire Rapids]] [[microarchitecture]]. It introduces 2-dimensional registers called "tiles" upon which accelerators can perform operations. It is intended as an extensible architecture, the first accelerator implemented is called TMUL (tile matrix multiply unit) <ref>https://software.intel.com/content/dam/develop/public/us/en/documents/architecture-instruction-set-extensions-programming-reference.pdf</ref> <ref>https://fuse.wikichip.org/news/3600/the-x86-advanced-matrix-extension-amx-brings-matrix-operations-to-debut-with-sapphire-rapids/</ref>


== {{Anchor|AVX1}}Advanced Vector Extensions ==
==={{Anchor|TMUL}}TMUL===
==={{Anchor|TMUL}}TMUL===
=== Compiler and assembler support ===
=== Compiler and assembler support ===
* [[LLVM]] initial support commited at 1 July 2020 <ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Intel-AMX-LLVM-Starts|title=Intel AMX Support Begins Landing In LLVM|last=Larabel |first=Michael|date=2020-07-02|website=www.phoronix.com|language=en-US|access-date=2020-07-02}}</ref> <ref>{{Cite web|url=https://github.com/llvm/llvm-project/commit/aded4f0cc070fcef6763c9a3c2ba764d652b692e|title=[X86-64] Support Intel AMX instructions |date=2020-07-02|language=en-US|access-date=2020-07-02}}</ref>
* [[LLVM]] initial support commited at 1 July 2020 <ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Intel-AMX-LLVM-Starts|title=Intel AMX Support Begins Landing In LLVM|last=Larabel |first=Michael|date=2020-07-02|website=www.phoronix.com|language=en-US|access-date=2020-07-02}}</ref><ref>{{Cite web|url=https://github.com/llvm/llvm-project/commit/aded4f0cc070fcef6763c9a3c2ba764d652b692e|title=[X86-64] Support Intel AMX instructions |date=2020-07-02|language=en-US|access-date=2020-07-02}}</ref> <ref name=":0">{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=Intel-AMX-Gas|title=Intel AMX Support Lands In The GNU Assembler|last=Larabel|first=Michael|date=2020-07-02|website=www.phoronix.com|language=en-US|access-date=2020-07-02}}</ref>
* [[GNU Assembler]] (GAS) initial support commited at 25 June 2020 <ref>{{Cite web|url=https://sourceware.org/git/?p=binutils-gdb.git&a=search&st=commit&s=Intel+AMX|title=commits with Intel AMX|date=2020-07-02|language=en-US|access-date=2020-07-02}}</ref>
* [[GNU Assembler]] (GAS) initial support commited at 25 June 2020 <ref>{{Cite web|url=https://sourceware.org/git/?p=binutils-gdb.git&a=search&st=commit&s=Intel+AMX|title=commits with Intel AMX|date=2020-07-02|language=en-US|access-date=2020-07-02}}</ref> <ref name=":0"/>
* [[GNU Compiler Collection|GCC]] patches have been posted for version 11<ref>{{Cite web|url=https://gcc.gnu.org/pipermail/gcc-patches/2020-July/549415.html|title=[PATCH] Enable GCC support for AMX|date=2020-07-06|language=en-US|access-date=2020-07-09}}</ref>
* [[GNU Compiler Collection|GCC]] patches have been posted for version 11<ref>{{Cite web|url=https://gcc.gnu.org/pipermail/gcc-patches/2020-July/549415.html|title=[PATCH] Enable GCC support for AMX|date=2020-07-06|language=en-US|access-date=2020-07-09}}</ref>



Revision as of 18:28, 13 July 2020

Advanced Matrix Extensions (AMX, also known as Intel® Advanced Matrix Extensions or Intel® AMX) is an extensions to the x86 instruction set architecture for microprocessors from Intel and AMD which is designed to work on matrices and is meant accelerate AI-related workload, was introduced by Intel in June 2020 and first supported by Intel with the Sapphire Rapids microarchitecture. It introduces 2-dimensional registers called "tiles" upon which accelerators can perform operations. It is intended as an extensible architecture, the first accelerator implemented is called TMUL (tile matrix multiply unit) [1] [2]

TMUL

Compiler and assembler support

CPUs with AMX

Applications

Software

  • glibc support for detecting AMX feature in CPUs commited at 25 Jun 2020 [8]

References

  1. ^ https://software.intel.com/content/dam/develop/public/us/en/documents/architecture-instruction-set-extensions-programming-reference.pdf
  2. ^ https://fuse.wikichip.org/news/3600/the-x86-advanced-matrix-extension-amx-brings-matrix-operations-to-debut-with-sapphire-rapids/
  3. ^ Larabel, Michael (2020-07-02). "Intel AMX Support Begins Landing In LLVM". www.phoronix.com. Retrieved 2020-07-02.
  4. ^ "[X86-64] Support Intel AMX instructions". 2020-07-02. Retrieved 2020-07-02.
  5. ^ a b Larabel, Michael (2020-07-02). "Intel AMX Support Lands In The GNU Assembler". www.phoronix.com. Retrieved 2020-07-02.
  6. ^ "commits with Intel AMX". 2020-07-02. Retrieved 2020-07-02.
  7. ^ "[PATCH] Enable GCC support for AMX". 2020-07-06. Retrieved 2020-07-09.
  8. ^ "x86: Detect Intel Advanced Matrix Extensions". 2020-07-02. Retrieved 2020-07-02.


Category:X86 instructions Category:SIMD computing Category:Advanced Micro Devices technologies