@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそ、すべては、SystemC v0.9公開から始まった
2021年導入の「Sapphire Rapids」にて、AMXを導入するそうな。
既に、エコシステムに対して、パッチを出している模様。
この記事には、AMX (Advanced Matrix Extensions) について、Inel の Reference Guide から引用している。
で、その Reference Guide というのが、
このドキュメントの
「CHAPTER 3 INTEL® AMX INSTRUCTION SET REFERENCE, A-Z」
に詳細があります。
Figure 3-1. Intel AMX Architecture を見たら、AMXって、Acceleratorなんですね。
2つのAccelerator (TMUL) に TILECFG というレジスタからデータを送り込んで演算して戻すというもの。AI Host ととは別物なんですね。
Table 1-3. Information Returned by CPUID Instruction の EDXの
Bit 22: AMX-BF16. If 1, the processor supports tile computational operations on bfloat16 numbers.
Bit 23: Reserved
Bit 24: AMX-TILE. If 1, the processor supports tile architecture.
Bit 25: AMX-INT8. If 1, the processor supports tile computational operations on 8-bit integers.
とあって、何故か?Bit 23 が飛んでいますね。ここには何が来るんでしょうかね?
NVIDIAのAmpereのように、32ビット、64ビット対応ですかね?
ということで。。
Domain Specific Architectureということでカスタムハードウェアを作っているけど、そのDomain Specificなところが一般的になるとはIntelが命令セットとして導入してくる。8ビットのVNNI、16/32ビットのBfloat16、そしてとうとうAMXにて行列演算を命令セットに投入。ということで、ここはもう汎用なの
— Vengineer@アマゾンプライムで映画三昧 (@Vengineer) 2020年7月3日
になったので、次は、
Intel
— Vengineer@アマゾンプライムで映画三昧 (@Vengineer) 2020年7月4日
VNNI、BFloat16、AMXを導入して演算部分の処理能力を上げてきたので、
次は、
Cacheじゃないスクラッチパッドメモリを導入しそう
ですかね。