Armのサーバ展開も苦戦している状況であるが、RISC-Vでサーバを狙おうというスタートアップがある。Esperantoという会社である。Esperantoを起こしたのはDavid Ditzel氏で、Ditzel氏は以前、Transmetaという会社を作って低電力のIntel互換のCrusoeやEfficeonプロセサを開発し、日本のパソコン各社のノートPC でも採用されたという実績をもっている。
Ditzel氏は、RISC-Vはマシンラーニング向けの新しいプロセサを作るのに最適であるという。そして、Esperanto社は最高のマシンラーニングのTeraFlops/Wを持つコンピュータシステムを開発しているという。
Esperantoは、ET-MaxionというハイエンドのプロセサとET-Minionという高いスループットをもつ並列プロセサチップを開発している。
ET-Maxionは最高のシングルスレッド性能を持つ64bitのRISC-Vプロセサである。現在、存在するプロセサIPの中で最高のシングルスレッド性能を目指すという。そして、MaxionはLinuxやそのアプリケーションを実行するときに高い性能を発揮する。
そして、ET-Minionは高い浮動小数点演算スループットを持ち、かつ、高いエネルギー効率をもっている。ET-Minionプロセサは大量の浮動小数点演算を実行するプロセサと位置付けられる。
ET-Minionは64bitのRISC-V命令にベクタ拡張を付け加えて、浮動小数点演算のスループットを高める。一方、単一スレッド性能は追求しないので、インオーダ実行を行う。RISC-Vの命令に対して、テンソル計算やその他のマシンラーニング用の拡張命令を加える。さらに、グラフィックス用の命令も追加する。
そして、ET-Minionは複数のハードウェアスレッドを並列実行してスループットを高める。Esperanto社は、ET-Minionを自社製品に使うだけでなく、他社へのライセンスも行う予定である。
Esperantoは7nmプロセスで1チップのAIコンピューティングシステムを作る。構成部品はすべてスケーラブルに設計されており、性能、電力面で広範囲な実装ができるようになっているという。
ET-MaxionコアはプライベートのL1キャッシュ、L2キャッシュを持つ。ET-Minionコアはそれぞれベクタ浮動小数点ユニットを持ち、さらに、マシンラーニングのアクセラレータを持つ。
そして、高バンド幅のメモリシステムを持ち、電力効率の高い設計になっているという。
他社はマシンラーニング専用のハードウェアを設けているが、Esperantoは専用ハードウェアではなくマシンラーニングもRISC-V命令で処理する方が良いと考えている。RISC-V命令を使うことにより、コミュニティの開発を利用することができる。そして、必要があれば、命令を拡張すればよい。また、必要ならアクセラレータをつけることもできる。
したがって、Esperantoのチップは、ベクタユニットやテンソル命令などをサポートするエネルギー効率の高いRISC-Vコアを数1000個(ResNet50の実行の図では、4096コアと書かれている)搭載するというアプローチを採る。
次の図は52層のResnet50の処理を行っている様子を示したもので、右下の図は第14層を処理するときの4096コアの動作状態を色で示している。
特に、マシンラーニングのアルゴリズムが急速に進化している状況では、汎用的な処理ができるアーキテクチャにしておく方がよい。RISC-Vのアーキテクチャは拡張できるように作られているので、今後も新しいアルゴリズムに必要な命令を追加することができる。
したがって、RISC-Vプロセサにドメインスペシフィックな拡張(Domain Specific Extension:DSE)を行うというアプローチが最適であると考える。
まとめであるが、RISC-Vは自由に利用できオープンであるので、多くのイノベーションが集まってくる。また、RISC-Vはシンプルであり、イノベーションを加速する。 RISC-VにDSEを付け加えるというアプローチは、AIエンジンとしてより大きな自由度をもっている。
AIはコンピューティングに革命を起こすと考えられるが、RISC-Vは革新の中心になるであろう。
なお、この講演ではDitzel氏のRISC-Vへの熱意は伝わるのであるが、述べている主張が正しいかどうかは読者個人で判断していただきたい。