IntelのPonte Vecchio
IntelのPonte Vecchio(Photo14)に関しては、アーキテクチャに関しては2021年のIntel Architecture Daysで、パッケージに関してはHot Chips 33で説明されている。こちらでその辺をまとめてレポートしているので、ここからのUpdateという形でレポートしたいと思う。
まずコアの性能について。Ponte VecchioのXe-Coreでは、Vector Engineは8つに減っており、その代わりに個々のEngineは512bit幅を扱える様になっている。コンシューマ向けGPUのXe-Coreを2つ合体させたような感じだ。
目的は以前も書いたように、AVX512にあわせて512bitのデータ幅を扱える様にしたためと思われる。個々のXe-CoreはVectorが256Flops(FP32/64)、Matrixが2048(TF32)/4096(FP16/BF16) Ops or 8192(INT8) Opsとなっており、1 SliceにXe-Coreが16個、1ダイに4 Slice+L2+HBMコントローラ+Media Engine+XeLinkが付属し、このダイが2つでPonte Vecchioが構成される。つまりPonte Vecchioには128個のXe-Coreが搭載される計算だ。ここから逆算すると、Ponte Vecchioの動作周波数は1.7GHz程度を想定していると考えられる。
また今回キャッシュおよびメモリの帯域も示された(Photo16)。Rambo Cacheは8 Tile構成なので、つまりTileあたり51MBという中々面白い容量になっている。L2をRambo Cacheとして別チップに追い出した最大の理由は容量を大きく取れる事だという(Photo17)。
またMatrixエンジンの効率についても紹介された(Photo18)。特に行列のサイズが大きくなると、効率が95%程度まで向上するとするのは、逆に言うと大規模な行列を扱わないと効率が猛烈に悪いという話で、このあたりは使い方を工夫する事が求められる格好だ。
また今回発表された話で言えば、Ponte VecchioではSIMD以外にSPMD/SIMTでの使い方が可能という話だ。GPU的に言えばSPMD/SIMTの方が自然だが、既存のCPU上で動くコードをPonte Vecchioに移植するのであればSIMDの方が使いやすい。SPMD/SIMTとSIMDでどの程度性能が変わるか? は(コードの書き方次第という事もあってか)今回は開示されなかった。
ただCPU上で動くSIMDのコードをPonte Vecchioに持ってゆくと4倍程度に性能が上がる、という話は示された(Photo20)。
絶対性能と言う意味では、NVIDIAのA100と比較した結果がこちら(Photo21)。
A100上でCUDAを使った場合を基準にした場合で、Ponte Vecchioだと最大2.5倍程度の性能が得られるとしている。もう少しアプリケーション寄りではminiBUDE(Photo22)、ExaSMRのNekRS(Photo23)とOpenMC(Photo24)のスコアが示されており、いずれもA100を大幅に上回るとしているのだが、ただ登場時期を考えるとHopper H100が競合になると考えるべきで、そのHopperがA100比で2~6倍(HPC向け)の性能である(と主張している)ことを考えると、Hopperと比べてどこまでPonte Vecchioにアドバンテージがあるのかちょっと判断が難しい。
なおここで名前が出て来たOpenAPI DPC++はIntelがOneAPIの提供に合わせて提供されているもの(以前はData Parallel C++と呼んでいたが最近はDPC++が正式名称になっている様だ)だが、SYCLをサポートしており、基本はこれでプログラミングする事でポータビリティと性能を確保できる(SYCLそのものはChronos Groupが仕様を定めているオープン規格である)という目論見である。
ただCUDAで記述されたアプリケーションがHPCの業界では非常に多い事から、これをSYCLに変換するDPC++ Compatibility ToolがIntelより提供されている(Photo25)。
先のPhoto21とかはこれを利用しての結果と思われる。ただ自動変換されるのが90~95%というのは、正直あまり高い効率とは思えないあたり、もう少し頑張ってほしいところだ。
それはともかくとして、今回一番知りたかった(のに公開されなかった)のが消費電力である。AuroraのターゲットであるPeakで2EFlops超えを、どの程度で実現できるかである。報道によればAuroraのターゲットは60MWほどだそうで、効率を考えるとFrontierより相当悪い計算になる。1.7GHz駆動と目されるPonte Vecchioの消費電力、OAMを採用しているという事は700W以下に収まっていると思いたいのだが、そろそろ動作実績を紹介してほしいところである。