ロードマップでわかる!当世プロセッサー事情 第569回
性能が70%向上するCooper Lakeと200Topsの性能を持つPonte Vecchio インテル CPUロードマップ
2020年06月29日 12時00分更新
アクセラレーター向けの拡張命令が搭載される
Sapphire Rapids
さて、Cooper Lakeの名前が最初に出てきた2018年では、Cooper LakeはIce Lakeベースと共通のプラットフォームになるはずなのが、実際にはそうならなくなった。

Whitleyの詳細は今のところ公式にはまったく明かされていない。噂では8chのメモリーコントローラーを持つらしいが。なおインテルはIce Lakeの世代からPCIe Gen4に正式対応なので、当然こちらもサポートされるはずだ
Ice Lakeについては今年末に投入されるということで話をおいておくとして(*)、問題は次のSapphire Rapidsだ。これに関して、新しくAMXなる拡張命令が搭載されることが発表された。余談だが、この次のスライドには、明らかにSapphire Rapidsチームではない人間が混じっている。
このおじさんの話は次でするとして、問題はこのAMX。正式にはAdvanced Matrix eXtensionsという命令セットであるが、6月24日にこれが明らかにされた。
そのAMXであるが、AMXはMMXから始まる一連の拡張命令と異なる、「アクセラレーター向け命令」であることが冒頭で明らかになった。

従来のCPUのパイプラインは左上の“IA Host”になる。そしてアクセラレーターは右側。その中間に謎のTILECFGというエリアがあり、この状態をOSが管理すべきものとしていることに注目。要するに拡張レジスターの延長として、TILEを扱わないといけないようだ
つまりCPUコアの外に、TILECFGと呼ばれるメモリー領域(おそらくはSRAMベースだろう)が用意され、ここをCPUとアクセラレーターから自由にアクセスできるようにするという、まったくこれまでと異なるアーキテクチャーである。
一見するとこのTILECFG、AVXレジスターの延長に見えなくもないのだが、上の画像を見ると実は2次元アクセスが可能な領域を構成していることがわかる。ちなみにTILEは複数持てるようで、このTILEの塊をPaletteと呼ぶ。
デフォルトでは16row×64Bytes=1KBのTILEを8つ搭載したTILEが用意されるが、必要ならより大きい、あるいはより多いTILEを利用することも可能になっている。ただこれはハードウェア的に容量が決まる模様だ。
そのTILEをどうアクセスするのか、というのが下の画像だ。
以前畳み込み演算を行列演算で行なう仕組みを連載562回で説明したが、ここでA1~A9やB1~B9という値は、まとめてAVXレジスターに格納されている。したがって、単純なケースではA1~A9が格納されたレジスターとB1~B9の格納されたレジスターの掛け算をすればいい。
ところが、時間軸のパラメーターが入ったりすると、計算ごとに対象となるレジスターが変わる。対策としては以下のとおりで、どちらにしてもオーバーヘッドが大きいやり方しかない。
- 計算に使うレジスターは固定し、毎回対象となるレジスターの値を計算に使うレジスターにコピーする
- 対象となるレジスターごとにプログラムを書く
これは従来のアクセスが1次元、2つ前の画像で言えば黒や灰色の横方向の矢印の向きにしかできなかったためだ。ところがAMXでは、複数のレジスターをまとめてアクセスできる。先の画像で言えば緑の矢印だ。
これによって、行列計算が猛烈に簡単になる。下の画像が実際のプログラムの例で、行列の横方向アクセス(A)と縦方向アクセス(B)の演算結果をCに格納するというものだが、おそろしく簡単化されているのがわかる。
今のところAMXで定義されているのはTILEのConfigurationのLoad/Saveと、TILEの中身のLoad/Save、それとDot Products命令だけで、やや無駄が多い気もしなくはないが、将来的にはもっといろいろ命令が増える可能性がある。
そして肝心なのは、これがAVXと並行して動く、完全にアクセラレーター扱いなことだ。となると実装としては、例えばGPUを使うこともありである。Sapphire Rapidsチームの画像にKoduri氏が顔を出しているというのは、Sapphire RapidsがXeと連携している、ということを意味している可能性もある。
(*) おいといていいのか? という話はあるが、情報がないのでおいておくしかない。

この連載の記事
-
第811回
PC
Panther Lakeを2025年後半、Nova Lakeを2026年に投入 インテル CPUロードマップ -
第810回
PC
2nmプロセスのN2がTSMCで今年量産開始 IEDM 2024レポート -
第809回
PC
銅配線をルテニウム配線に変えると抵抗を25%削減できる IEDM 2024レポート -
第808回
PC
酸化ハフニウム(HfO2)でフィンをカバーすると性能が改善、TMD半導体の実現に近づく IEDM 2024レポート -
第807回
PC
Core Ultra 200H/U/Sをあえて組み込み向けに投入するのはあの強敵に対抗するため インテル CPUロードマップ -
第806回
PC
トランジスタ最先端! RibbonFETに最適なゲート長とフィン厚が判明 IEDM 2024レポート -
第805回
PC
1万5000以上のチップレットを数分で構築する新技法SLTは従来比で100倍以上早い! IEDM 2024レポート -
第804回
PC
AI向けシステムの課題は電力とメモリーの膨大な消費量 IEDM 2024レポート -
第803回
PC
トランジスタの当面の目標は電圧を0.3V未満に抑えつつ動作効率を5倍以上に引き上げること IEDM 2024レポート -
第802回
PC
16年間に渡り不可欠な存在であったISA Bus 消え去ったI/F史 -
第801回
PC
光インターコネクトで信号伝送の高速化を狙うインテル Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ