ISC 2021において、IntelのVPで、HPC関係のGeneral ManagerのTrish Damkroger氏が「Accelerating the Possibilities with HPC」と題する講演を行った。
HPCとAIが連携することで、HPCが適用できる範囲が広がりつつある。そうした背景に併せて、HPC側としても使える分野を広げる必要があり、そのためには演算性能だけでなく、メモリ容量、I/O性能なども引き上げる必要が出てきているとDamkroger氏は語る。
図2に示すように、HPCは製造関係のCAD、天気や気象予報の計算、たんぱく質の結合などの化学の計算、石油探査の地層モデルのシミュレーションなどに用いられており、これらの計算は大量の演算や大容量のメモリを必要とする。
このように、適用範囲が広がり、新しい要件がでてくるので、Intelは広範なHPCのポートフォリオを用意している。ポートフォリオには、CPUやGPUを含めた各種プロセサ(IntelはXPUと呼ぶ)、ソフトウェアツール、メモリ(特に不揮発性のOptaneメモリ)、Optane SSDなどのストレージ、インタコネクト、セキュリティなどを含んでいる。
IntelはOneAPIを標榜しており、CPUでもGPUでもFPGAでも同じ1つのAPIで、同じアプリケーションが動くようにするという考えであるが、CPU用に最適化したライブラリとGPU用に最適化したライブラリ、FPGA用に最適化したライブラリを揃える必要があり、なかなか開発工数がかかりそうである。しかし、ユーザから見れば同じアプリケーションがどのプロセサでも動くようになれば開発の手間は省けるので望ましい。
IntelはXeonではHPC開発の長い歴史があり、最近ではAVX2、AVX-512、マルチCPUのメッシュ接続、不揮発性で高速のOptaneメモリ、ディープラーニングブーストなどの新しいハードウェアを追加してきた。
そして、2021年4月に発表された第3世代Xeon SPでは、最大40コアを搭載し、かつ、各コアのIPCは前世代と比べて20%引き上げた。そして、メモリは最大6TB搭載でき、IOはDDR4-3200で8CHを使用できる。これらを合わせて、HPC性能は53%向上しているという。
第3世代Xeon SPはAMDのMilanと比べると、Monte Carloでは最大105%性能が高く(2.05倍の性能)、RELIONでは最大68%、LAMMPSでは最大57%、NAMDでは最大62%、Binomial Optionsでは37%性能が高いとのことである。ただし、これはXeonもEPYCも32コアを使った場合の性能比較で、EPYCで最大64コアを使うと差は縮まる。図6の左端に12の良く使われるHPCアプリで比べると最大23%性能が高いと書かれているが、全コアを使った場合で比べると、Intelはコア数が1.25倍になるが、AMDはコア数が倍増し、AMDのEPYCの方が速いというアプリケーションも多いのではないかと思われる。
1つの例であるが、AIアプリを最適化せずにXeon SPで動作させた場合に比べて、最適化した場合10.1倍高速になったという。
あるAIアプリをAMDのEPYC Milan 64コアで動作させたとき実行時間は33.18秒であった。このAIアプリをXeon SP 8380(40コア)で実行した場合は27.47秒とコア数は少ないにも関わらず、Xeon SPの方が速かった(ただし、XeonはDL Boost使用)。
EPYCの方が64コアとコア数が多いが、実アプリではコア数の少ないXeon SPの方が速いケースも多く、次の図に示すように、 Ice Lake CPUを選ぶユーザも多い。
Oakridge国立研究所のAuroraスパコンでは、Sapphire Rapids CPUとPonte VecchioというIntel設計のハイエンドGPUを使う。Damkroger氏は、Ponte Vecchioはすでにパワーオンして、バリデーションを行っていると説明した。
図9はPonte Vecchioの造りを示すもので、Magical Tilesと呼ぶ47個のシリコンチップで構成されている。
全体を載せる基板は、色から見て、シリコンインタポーザではなく、高密度プリント基板のようであるが、部分的にはシリコンチップを貼り合わせるFoverosやEMIB用の小さな接続チップが埋め込まれていると思われる。
そして、Intelはこの技術をPonte Vecchioだけでなく、Open Accelerator Module(OAM)や4個のサブシステムを搭載するモジュールなどに展開していく計画である。
Ponte Vecchio GPUと一緒に米国のエクサスパコンであるAuroraに搭載されるCPUはSapphire Rapidsである。Sapphire RapidsはIntelの10nmのEnhanced SuperFinプロセスで製造される次世代CPUである。そして、Sapphire RapidsはIntel Advanced Matrix Extensionを搭載することになっている。Intel Advanced Matrix Extensionの詳細は明らかになっていないが、NVIDIAのTensor Coreのように、行列演算を効率よく実行するコアであると考えられる。
また、Sapphire RapidsではDDR5、PCIE5.0をサポートしてメモリやI/Oバンド幅を増強し、次世代のI/OインタフェースであるCXL1.1のサポートも行われる。そして、高いメモリバンド幅を必要とする用途に最適化したHBMメモリを搭載するSKUが登場する。
Intelは10nm以降の微細化半導体プロセスの開発でつまづき、大幅に10nmプロセスの開発が遅れた。一方、AMDは自社半導体プロセスの開発を諦めてCPUの製造はTSMCに外注し、大きな後れを出さず7nm世代のCPUを開発した。
しかし、Intelも今後は、ものによってはTSMCやSamsungに外注する方針を打ち出した。筆者の個人的な見解であるが、今は半導体プロセスの微細化ではAMDに差を付けられているが、この優位性は短期間で縮小し、EMIBやFoverosなどの複数チップを集積する技術を考えると、Intelがプロセサの製造技術で優位を回復することも考えられる。AMDにとっては大変であるが、スパコンの技術の進歩と言う観点からは、Intel、AMDが激しく競合し、よりおもしろい時代が来るのではないかと思う。