High Bandwidth Core は以下の2つから構成されます。
- MPU (Matrix Processing Unit) : Adder Tree を中心とした行列ベクトル積エンジン
- SPU (Stream Processing Unit) : Stream パイプラインで演算行うエンジン
概要
ストリーム型アクセラレータは「エッジ推論」に特化したアーキテクチャです。コンセプトは以下の2つです。
メモリ帯域を可能な限り引き出すこと
近年のAIワークロードは計算律速ではなくメモリ律速です。特にバッチ数が1のエッジ推論においては、モデルウェイトのロードが律速になりがちです。ストリーム型アクセラレータは、ウェイトが置かれている DRAM の帯域を限界まで使用することを主眼に置いたアーキテクチャです。
プログラミングモデルが簡単であること
AI モデルは基本的に NVIDIA のハードウェア上で学習されます。一方推論環境はさまざまなハードウェアがあります。非 NVIDIA の推論ハードウェアで最も重要なことは、モデルのポータビリティです。学習されたモデルをいかに早くデプロイできるかが、重要な指標になります。プログラミングモデルが簡単であれば、デプロイや最適化が非常にやりやすくなります。
近年のアクセラレータは、データ移動を明示的に制御するプログラミングモデルになっています。適切にデータをプリフェッチしメモリボトルネックを隠蔽することができます。しかしながら、プログラミングモデルが難しすぎて常人には扱えない代物になっていることが多いです。そのようなアーキテクチャは、性能を引き出すことがプログラマの責任になっていますが、それを完遂できる人はなかなかいません。最高のスペックを引き出すのが困難であれば、そのスペックは実用的ではありません。