このページの本文へ

前へ 1 2 3 次へ

ロードマップでわかる!当世プロセッサー事情 第632回

Intel 7とTSMC N5で構成されるHPC向けGPUのPonte Vecchio インテル GPUロードマップ

2021年09月13日 12時00分更新

文● 大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

 過去3回に引き続きインテル新製品の詳細をお伝えする。今回はPonte Vecchioについてだ。

 実はPonte Vecchioもやはり新しい話はHotChips 33のカンファレンスセッションでは出てこなかった。ということで、実はあまり新情報はなかったりする。大まかな話は連載629回で説明した通りだが、一応復習も兼ねて簡単に説明しよう。

EUあたりの性能が倍増した代わりにEUの数が半減

 Xe-HPC、つまりPonte Vecchioの演算の最小単位はXe-coreとなるが、同じ名前ながらXe-HPG(GPU)向けとは若干構造が違う、というのは以前触れた通り。1つのXe-coreに8つのVector Engineと8つのMatrix Engineから構成される。

Ponte VecchioのXe-core。XMXの方は1サイクルあたり4096bitの演算が可能だが、Load/Storeが間に合っていないあたり、行列演算などを本格的にやる実装にはなっていない気がする

 Vector EngineというのはこれまでEU(Execution Unit)として説明されていたもので、中身は8-wideのFPU/INTの巨大なSIMD Engineである。ただ同じXeでもXe-LPのEUは、1サイクルあたり256bit演算になっていたのが、Xe-HPCでは上の画像にもあるように演算器の幅が512bitに倍増している。

 つまりXe-LPやXe-HPG向けでは256bit幅のEU×2(ただしスレッドコントロールは共通)という構成だったのを、Xe-HPC向けでは512bit幅のEU×1として扱う格好に変更したようだ。したがって、同じEU(上の画像の表現ではVector Engine)あたりの性能が倍増して、ただしEUの数が半減するという形になっている。

 この理由であるが、おそらくはAVX512やAMXなどとの連携を考えると、512bit幅のデータ型を扱えるようにするのが得策と考えたからだろう。Xe-CoreにはこのVector Engineが8つあるから、これにあわせてLoad/Storeユニットも512Bytes/サイクルに強化されている。

 一方のMatrix Engineであるが、これは連載579回で説明したDP4A命令を処理するのが主眼と思われる。ひょっとしてAMX命令を処理できるのか? と思ったが、どうもそうした構造にはなっていないようだ。ちなみにDP4A命令そのものはVNNI命令と互換性があるそうで、ただしx64コアよりも大幅に高速化されている格好だ。

 インテルの説明によれば、OpenVINO 2021.1 release以降ではこのDP4A命令をサポートしているということで、つまりx64でもVNNIを利用してDot Products演算を高速に処理できるが、XMXを利用するとプログラムをそのままでさらに高速化できることになる。位置付け的にはNVIDIAのVolta以降で実装されたTensor Coreと同じ形である。

Xe-Coreを8つ集積したSliceが
最小の演算単位になる

 さて、Xe-HPCを構成する最小の演算単位は、このXe-Coreを8つ集積したSliceとなる。

そもそもSliceが8 Xe-core構成なのはなぜ? という疑問が湧くのだが、そのあたりは後述する

 Xe-HPGと比べると、Xe-HPGはXe-Core×4で1つのRender Sliceを構築するのに対し、Xe-HPCはXe-Core×8で1 Sliceとなる。

 そして、Xe-HPGは、2 Vector Core単位でThread Dispatcherが実装されており、Xe-Coreあたり同時8スレッド、1 Render Sliceあたりで言えば32スレッドが同時に動く(In-Flight状態のスレッドは当然さらに多いと思われるが、インテルはまだ1つのXe-Coreでハンドリングできるスレッドの数を公開していない)のに対し、Xe-HPCではSliceあたりで1つのHardware Contextとしており、同時に実行できるスレッドの数は1つとなる。相当粒度の低い構成になるわけだが、逆にピーク性能を高めようとするとこうした構成の方が効果的なのかもしれない。

 さらに言えば、上の画像には記載されていないが、Xe-HPCではここに外付けの形で2次キャッシュが実装可能である。Xe-HPGも2次キャッシュはサポートするが、こちらはモノリシック構造で提供されるようで、このあたりも違いと言えるだろう。

 ところで2020年のArchitecture Dayでは、Ponte VecchioはBase Tileが10nm SuperFin、Computeが次世代プロセス、Rambo Cacheが10nm Enhanced SuperFin、Xe-LinkがExternalとなっていたが、今回Compute TileはTSMC N5、Base TileはIntel 7とされている。

 つまり2020年の時点では旧10nm SuperFinでBase Tileを製造予定だったのが、10nm Enhanced SuperFinに切り替わった格好だ。Xe-LinkはTSMC N7で最大90Gの速度とあるが、これはおそらくレーン全体での話で、1レーンで90Gという話ではないと思われる。

Compute TileはTSMC N5とある。これはもともと“Intel Next Gen & External”となっていたので不思議ではない。今のスケジュールでIntel 4を使うと、量産開始が2023年になってしまうからだ

Base TileはIntel 7。2次キャッシュが144MBとあるので、36MBのRambo Cache Tileを4つという計算だ。この36MBというのはECC付きの容量なのかもしれない

Xe-LinkはEMIBで接続されるので、EMIBの方がおそらくボトルネックになる

 ちなみに性能という観点では、Ponte Vecchioが1つでFP32/FP64が45TFlopsという数字はすでに示した。インテルは、「これはA0シリコンでの数字だ」としており、今後もう少し動作周波数が上がることを示唆していたが、HotChipsの説明ではこのほか、ResNet-50を動作させてInference(推論)が43000イメージ/秒以上、Training(学習)で3400イメージ/秒以上という数字も公開された。

これは主にMatrix Engineの効果ということだろう

 この数字、比較するものが古いが、Inferenceで言えばインテルが買収したHabana LabsのGoyaが1万5000そこそこなので、これを軽く2倍以上上回る性能ということになる。Trainingも、Gaudiの性能がおおむね1600イメージ/秒とされていたので、これもやはり2倍以上である。

 こうなると、Habana Labsを約20億ドルで買収して入手したGaudiとGoyaの存在価値が問われかねない気もするのだが、どうするつもりなのだろうか?

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン