ロードマップでわかる!当世プロセッサー事情 第674回
Zen 5に搭載するAIエンジンのベースとなったXilinxの「Everest」 AIプロセッサーの昨今
2022年07月04日 12時00分更新
AI Engineを1GHzで稼働させれば
51.2T Ops/サイクルの処理性能になる
さて、AI/機械学習に関して言えば、活性化関数の処理などに関してはScalarユニット(つまりRISCプロセッサーの方)で行なう(“Non-linear Functions”がまさにこれに向けたものと思われる)。逆に言えばAI/機械学習での計算処理のほとんどを占める畳み込みや全結合などの処理はVectorユニットの方で行なわれることになる。
そのVectorユニットの性能が下の画像になる。512bit幅のSIMDエンジンで、一番簡単な8bit real(8bit整数)同士の乗加算なら1サイクルあたり128個を処理できる。
一番遅いのが32bit complex(32bitの複素数)同士の演算で出力が80bitのComplexでは1サイクルあたり2個にまで減るが、そもそもcomplexの処理はAI/機械学習では利用されず、主にワイヤレス向け(無線で使われる変調方式などで多用される)ということなので、実際にはreal同士の演算がメインと考えれば良い。すると1つのAI Engineあたり128 Ops/サイクル、これが最大400個だと51200 Ops/サイクルほどになる。
仮にこのAI Engineを1GHzで稼働させれば、51.2T Ops/サイクルという猛烈な処理性能になるわけで、確かにAI向けとしては悪くない性能である。もともとXilinxはAI学習の市場には手を出さず、推論のみに展開する予定だったので、これは十分な性能と言える。
ちなみにAI Engineそのもののデータメモリーは1個あたり32KBなので、400個集めても12.5MBでしかなく、これで足りるか? と言うとけっこう厳しいのは事実だが、実際にはFPGA側にもSRAMがあり、これをL2 SRAMとして利用可能であり、さらに外部にDRAM(DDR/HBM)を接続可能になっている。
これだけあれば普通に使うにはまず困らない、という判断と思われる。実際GoogleNetやResNetでの結果を見ると、AI専用プロセッサーに引けを取らない性能を出しているのがわかる。
第2世代になり演算器とメモリーが倍増
ピーク性能は初代AI Engineの4倍に
このAI Engineであるがこれはいわば第1世代にあたる。というのは2021年6月にXilinxがVersal AI Edgeという製品を出した時には、第2世代のAI Engine-MLに進化した。
基本的な構想そのものは変わっていないが、以下のようにけっこう大規模なものである。
- 演算器を倍増。おそらく固定小数点SIMDを廃し、代わりに浮動小数点SIMD×2とした。またVILW命令も変更され、Vector Operationを同時2つ発行可能にしたと思われる。これにともない、ロード/ストアーも帯域を倍増させたほか、Vector Register Fileの数も増やしたと考えられる。
- Int 4/Bfloat 16をサポート。これにより、Int 8の場合の2倍の処理性能が確保された。
NVIDIAのJetson Xavier NXとの比較が下の画像である。ピーク性能が4倍のわりにそれほどでもないのでは? と言うのは、AI Engine-MLの数が異なるためである。
下の画像が発表時の構成であるが、VE2102は12個、VE2302は24個、VE2802で304個、とAI Engine-MLの搭載数が大きく異なる。
ただかなりローエンドに近いVE2102では12個しかAI Engine-MLが搭載されていないのにINT4での演算性能は18TOPSで、Jetson Xavier NXと比べて性能/消費電力比が1.9倍というのは、FPGA以外にこれを持ち込もうというのには有望そうに見える。
もちろんAI EngineとAI Engine-MLではバイナリー互換性はまったくないが、このあたりはコンパイラが吸収してくれるのであまり問題はないという返事が返ってきた。
ただ今後Zen 5世代ではCPUにもこれが入るあたりでは、製品ごとの差(おそらくAI Engine-MLのみが搭載されることになると思うが、AI Engine-MLのコア数まで全SKUで一緒かどうかはわからない)を再コンパイルの手間なしに吸収するためのなにらかの仕組みが用意されることになると思われる。連載671回の最後で紹介したUnified AI Stack 2.0の、Windows RuntimeやLinux Runtimeがこのあたりを吸収する形でバイナリー互換性を取る格好ではないかと思われる。
連載657回で触れたが、Raptor LakeにはMyriad X VPUを外付けで接続するための専用M.2スロットが用意されるようだ。さらにこれに続くMeteor Lakeでは、第3世代のMyriad VPUが今度はチップ内に統合されるようだ(SoC Tileに実装されると思われる)。
Xilinx由来のAI Engine-MLは、このMyriadシリーズVPUの対抗馬という位置づけになるわけだが、両社のNPUで共通に使えるようなAPIが構築される、という話がまったく聞こえてこないあたり、なんとなくビデオエンコード/デコードアクセラレーターと同じような扱い(アプリケーションの側でAMD Media Encoder/Intel Media SDK/NVIDIA NVEncにそれぞれ個別対応)になりそうな感じがある。
ややユーザーには不便な感じであり、マイクロソフトあたりがなにかしら共通API(DirectX AIなど)を作ってくれるとうれしい限りだ。
この連載の記事
-
第772回
PC
スーパーコンピューターの系譜 本格稼働で大きく性能を伸ばしたAuroraだが世界一には届かなかった -
第771回
PC
277もの特許を使用して標準化した高速シリアルバスIEEE 1394 消え去ったI/F史 -
第770回
PC
キーボードとマウスをつなぐDINおよびPS/2コネクター 消え去ったI/F史 -
第769回
PC
HDDのコントローラーとI/Fを一体化して爆発的に普及したIDE 消え去ったI/F史 -
第768回
PC
AIアクセラレーター「Gaudi 3」の性能は前世代の2~4倍 インテル CPUロードマップ -
第767回
PC
Lunar LakeはWindows 12の要件である40TOPSを超えるNPU性能 インテル CPUロードマップ -
第766回
デジタル
Instinct MI300のI/OダイはXCDとCCDのどちらにも搭載できる驚きの構造 AMD GPUロードマップ -
第765回
PC
GB200 Grace Blackwell SuperchipのTDPは1200W NVIDIA GPUロードマップ -
第764回
PC
B100は1ダイあたりの性能がH100を下回るがAI性能はH100の5倍 NVIDIA GPUロードマップ -
第763回
PC
FDD/HDDをつなぐため急速に普及したSASI 消え去ったI/F史 -
第762回
PC
測定器やFDDなどどんな機器も接続できたGPIB 消え去ったI/F史 - この連載の一覧へ