前回に引き続きインテル新製品の詳細をお伝えしよう。今回はSapphire Rapidsについてだ。さて、Intel Architecture DayとHotChipsでは「ほとんど」同じ内容であった。異なるのは後述するSVMとS-IOV周りの話だけである。ということで、主にArchitecture Dayのスライドを使いながら説明したい。
マルチチップで性能を向上させる
Sapphire Rapids
Sapphire Rapidsの設計目標は、ノードパフォーマンスとデータセンターパフォーマンスの両方を高めることとされる。具体的にはIPCを高めるとともに、これを支える周辺回路の強化を施すのがノードパフォーマンス、スケールアップ/スケールアウトサーバー構築の手助けとなる仕組みを導入することで、システム全体の実効性能を引き上げようというのがデータセンターパフォーマンスとなる。
さて実現方法であるが、連載629回でも解説したようにマルチチップ(インテル用語ではMulti Tile)構成での提供となった。
さすがにインテルとしても、Xeon向けに巨大なダイを作り続けるというのはそろそろ限界に達したらしい。もっと正確に言えば、巨大なモノシリックダイの限界値はおおむね700mm2かそこらになる。これはどういう話かといえば、半導体製造におけるステッパーによる露光のフェーズで、マスクサイズの限界というものが存在するからで、これがおおむね600~700mm2(これは利用するプロセスやステッパーの性能に依存する)になる。
わかりやすい例が連載572回で紹介したCelebras SystemのWSEである。ダイそのものは4万6225mm2となっているが、写真を見ていただくとわかるように内部はこれを12×7で84個のタイルに分割しており、タイルあたりの面積は550.3mm2かそこらになる。
このチップの作り方は連載572回の3ページ目で説明したように、一度84個のタイルをバラバラにした後で、改めて間に配線を入れる格好でつなぎ合わせており、その意味ではモノリシックなダイとは言えない。
今回このSapphire Rapidsのタイルの面積は400mm2前後とされており、つまり4つでは1600mm2に達する。これをモノリシックで作る方法は現実問題として存在しない。したがって、よりコア数やキャッシュ、搭載するアクセラレーターなどを増やしたり、コアそのものを強化する(=コアのエリアサイズが増える)場合、マルチタイル方式は必須というか避けられない選択肢だったと言える。
構成は下の画像にあるように、4つの同じタイルが載る構成であり、それぞれのタイルにコアとLLC、メモリーコントローラー、UPI、PCIe/CXL、アクセラレーターが載り、間がLink(筆者はこれはUPIベースだと思うのだが、インテルはこの方式を細かく説明していない)でつながれるという方式である。
要するにAMDの第1世代EPYCと同じ仕組みである。AMDは第2世代EPYCでコアとI/Oを分離する方式に改めたが、インテルが今後どういう方向性になるかは少し興味ある部分だ。
さて、Sapphire Rapidsのコアそのもので言えば前回説明したAlder LakeのP-Coreと同じものである。ただ前回の最後で説明したように、Sapphire Rapids向けは以下の違いがある。
- 2次キャッシュが2MB
- AVX-512およびAMXが利用可能
これ以外にも細かな違いがある。このうちAMXについては連載629回で説明済なので割愛する。AVX512に関しては、今年6月にAVX512-FP16の仕様がリリースされており、これに基づく形で実装されている。

AiAはこの後説明するが、アクセラレーター向けI/Fを新たに用意した、という話である。ただ、これは内部デバイスのみなのか、CXL経由で外部のアクセラレーターもサポートするのかは現時点では不明だ。なんとなくCXL経由もサポートしていそうだ
要するに従来のAVX512では、FP32だと最大で16演算/サイクルが可能だったのに対し、AVX5412-FP16だと32演算/サイクルが可能になるというわけだ。16bit演算に関しては、Cooper LakeにはBF16のサポートが追加されているが、FP16に関してはSapphire Rapidsが最初である。
CLDEMOTE命令は、実はTremontで最初に実装されている、というか実は筆者も最初このことを忘れていた。このCLDEMOTE命令、正式名称は“Cache Line Demote”命令で、オペランドで指定したアドレスを含むCache Lineを、プロセッサーコアに近いキャッシュ(つまり1次データキャッシュあるいは2次キャッシュ)から遠いキャッシュ(2次あるいは3次キャッシュ)に移動すべき、とプロセッサーに「示唆する」(Hint to)命令である。
即座に1次キャッシュなり2次キャッシュから排除するのではなく、次にプロセッサーが1次データキャッシュなり2次キャッシュの入れ替えをする際に、真っ先に2次/3次キャッシュにスワップアウトされるべき領域をプロセッサーに指示するという仕組みだ。
これは特にプロセッサー間の通信で効果的である。P-Core/E-Coreともに、2次/3次キャッシュはExclusive Cache(排他的キャッシュ)の形で実装される。したがって、あるコアがメモリーを書き換えた(この時点ではまだ1次キャッシュに保存されているだけである)後、そのアドレスをCLDEMOTE命令で3次キャッシュにライトバックさせると、他のコアがその内容を迅速に参照できるわけだ。
おそらくはE-CoreにもこのCLDEMOTE命令は実装されていると思われるが、説明によればAlder LakeではCLDEMOTE命令は無効化されているということで、現時点ではSapphire Rapidsのみが利用できることになる。

この連載の記事
-
第748回
PC
早いペースで新コアIPを発表してRISC-Vを広めたSiFive RISC-Vプロセッサー遍歴 -
第747回
PC
コロナ禍の裏で中国で爆発的に増えたRISC-Vコアの出荷数 RISC-Vプロセッサー遍歴 -
第746回
PC
TOP500の1位に惨敗したスパコンAuroraの真の性能 インテル CPUロードマップ -
第745回
PC
ソフトウェアの壁が独立系プロセッサーIPベンダーを困らせる RISC-Vプロセッサー遍歴 -
第744回
PC
41社でRISC-V財団を創立 RISC-Vプロセッサー遍歴 -
第743回
PC
RISC-Vの仕様策定からSiFiveの創業までAsanovic教授の足跡をたどる RISC-Vプロセッサー遍歴 -
第742回
デジタル
Ryzen Threadripper 7000シリーズのターゲットはAMDの熱狂的なファン AMD CPUロードマップ -
第741回
PC
Meteor LakeのGPU性能はRaptor Lakeの2倍 インテル CPUロードマップ -
第740回
PC
Meteor LakeのNPU性能はGPUの7割程度だが消費電力が圧倒的に少ない インテル CPUロードマップ -
第739回
PC
Meteor Lakeで省電力なのはSoCタイルのEコアのみ インテル CPUロードマップ -
第738回
PC
Intel 4は歩留まりを高めるためにEUVの工程を減らしている インテル CPUロードマップ - この連載の一覧へ