AI & ML分野の性能
AI & MLに関しては特に力を入れている部分でもあり、AMXがフルに活用できる分野でもある。といっても、AI/MLと言われているものが要求する性能は、Networkによって違いがある(Photo22)。
これを踏まえて、そもそもDDR5の採用やXeon MaxではHBM2eの搭載、さらに演算性能の向上など全般的な性能の引き上げを図ったうえでAMXを搭載し、特に畳み込みでの高速化を図るという形のアプローチになっている。
もともとVNNIで従来比3倍程度まで高速化している訳だが、AMXではこれをさらに8倍まで引き上げており(Photo23)、これで専用プロセッサに迫る性能を発揮するとする。
実際、第3世代Xeonスケーラブル・プロセッサやNVIDIAのA10と比較した結果がこちら(Photo24)。
あるいはBroadwell以降のコアと比較した場合、ResNet-50での処理性能と消費電力の関係を示したのがこちら(Photo25)。
もっとも第4世代Xeonスケーラブル・プロセッサでInferenceをバリバリする、という使い方はどうか? という気もするが、ではTrainingは? というのがこちら(Photo26)。
MLPerf v2.1(Training Benchmark)の8つのテストの内3つを30分未満で終わらせられるとしており、第3世代Xeonスケーラブル・プロセッサと比べて3.5~10倍高速であるとする。もっともAMXがあるから、この位上がらないとまずい気もするが。ちなみに今のところMLPerfについてはDLRM/BERT/ResNet-50の数字しか登録されていないので、他の結果も早く見たいところだ。このTrainingに関してのA100との比較がこちら(Photo27)。
大雑把に言えば互角と言ったところだが、そもそもA100と比較しても仕方ないという気はしなくもない。ただA100は一昔前のハイエンドGPUだった訳で、それと互角に近いところまで汎用CPUで迫った、という事は評価しても良いかと思う。
HPC分野の性能
HPCの場合もAIに似ていて、モノによってCompute BoundだったりMemory Boundだったり、あるいはその中間だったりする訳だが(Photo28)、ただ原則論としてはProcessor Performanceの向上に合わせてMemory Bandwidthも引き上げるしかない。
で、第4世代Xeonスケーラブル・プロセッサはDDR5のサポートや、4 Socket以上ではMemory Channel自体も増えている事もあり、Memory Bandwidthが向上している(Photo29)。
加えてProcessor Performanceもコア数とIPCの両方の向上もあって、分野によって差はあるとはいえ、平均50%程度の性能改善が実現している(Photo30)。
この性能差を確保するための方法が、Xeon MaxのHBM2eである(Photo31)。
Sapphire Rapidsは8chのDDR5-4800を搭載し、トータルで307.2GB/secの帯域を誇るが、これを56コアで割るとコアあたりの帯域は僅か5.4GB/secでしかない。ところがHBM2eは1stackあたり409.6GB/secである。これが各Tile(=14コア)に1つ用意されるから、コアあたり29.3GB/secと、DDR5の5倍以上の帯域が利用できる事になる。これは、特にB/F値が問題になりそうなアプリケーションで効果的に働くという訳だ。ちなみにHBMとDDR5は、HBM Only/HBM Flat Mode/HBM Caching Modeの3つが用意される。昔、第3世代のXeon PhiことKnights HillではHBMの代わりにMCDRAMを搭載する予定で、ここではCache Mode/Flat Modeに加えHybrid Modeが用意されていた(Photo32)が、これはサポートされない事になった。
さてそんなHBM2eを搭載したXeon Maxであるが、例えばALTAIR AcuSolveを行った場合、第3世代Xeonスケーラブル・プロセッサと同じ処理性能を遥かに少ないノード数で実現できるとしている(Photo33)。
Photo34はメモリ帯域比較で、これはもう理論性能そのままという感じである。もう少し広範なベンチマーク結果がこちら(Photo35)。
必ずしも全てのアプリケーションで性能が上がる訳ではない(中にはむしろ落ちる場合もある)が、うまくはまると3倍前後の性能向上を示しており、アプリケーションを選びはするものの、うまく嵌れば効果的であることを示している。
ちなみにXeon MaxのSKUは5製品であるが、それぞれの性格分けがこちら(Photo36)。どんなHPC Applicationを走らせるか次第でSKUを決める形になる訳だ。