RISC-VはSIMD演算ではなくベクトル演算
違いはレジスター長が固定かどうか
では、RISC-Vをどうやって実装したか、というのが今回の話だ。もともとRISC-VではRVV(ベクトル拡張)についてずっと議論が進んでいた。議論が進んでいたというか、いろいろ揉めていたというのかは微妙なところであるが、2019年6月にはv0.7.1がリリースされており、ところがv1.0で仕様が固定(Frozen)されたのは2021年9月、というあたりからけっこう議論が錯綜したのがわかる。
この仕様策定までの期間がどうしても長くなるのがRISC-Vみたいな仕様をオープンな場で議論する方式の欠点ではあるのだが、それはともかく。
RISC-Vの場合、SIMDではなくベクトルとされている。最大の違いはレジスター長が決め打ちでないことだ。例えばx86系で言えば、1つの演算で処理できる最大のサイズはMMX/3DNowが64bit、SSEが128bit、AVX2が256bit、AVX512が512bitと決められている。要するに1回の命令で処理できるSIMDレジスターは1つであり、1024bit分のデータを処理したければMMX/3DNowで16回、SSEで8回、AVX2で4回、AVX512でも2回命令を発行する必要がある。
これに対してベクトルの方は、1つの命令で処理できるデータ量が固定長ではない。したがってEsperantoのET-Minionのように、それこそ最大で512回の演算を処理できるようなものも登場してくる。ET-MinionはRVVとは異なる独自実装であるが、RVVも基本的なアイディアは同じであり、実際のベクトルレジスターよりも長いデータを取り扱える。ArmのSVE(Scalable Vector Extention)や、最近登場したSVE2も考え方はよく似ている。
RVVそのものは、SIMD演算と同じく大量の数値演算に向けた拡張であって、必ずしもAI/機械学習向けではない。
むしろ直接的なターゲットはArmということもあり、Armの64bit SIMD命令であるNEONを利用したアプリケーションを、簡単にRVVに移行できることをアピールしていたりする。
さて本題のAI向けの話だ。SiFiveはAI/機械学習向けにSiFive Intelligenceと呼ばれるソフトウェアとハードウェア(IP)のパッケージを提供している。
これまでは、例えば畳み込みを高速に処理するアクセラレーターだったり、もっとプリミティブに乗加算を高速に行なうハードウェアを入れたり、といった形でAIに対応と称することが多いが、同社はもう一歩先の、例えばTransformer(2017年に発表された多層ニューラルネットワークのモデルで主に自然言語処理に利用されている)や、いわゆるRecommendationなどに利用されるモデルは通常の畳み込みニューラルネットワークよりももっと複雑であり、こうしたモデルをより高速に実行できるように工夫しているのが特徴だ。
右の図はTransformerモデルのアーキテクチャー。2017年にGoogleのAshish Vaswani氏らによって発表された“Attention Is All You Need”という論文の中で示されているものである
もちろんこれはRVVの範疇ではカバーできないので、SiFiveはカスタム命令拡張(RISC-Vでは独自に命令を拡張することを許しており、SiFiveもこれを利用した形)を使って独自のAI処理命令を追加して、こうした複雑なモデルへの対応を行なっている。こうしたモデルでも、従来の乗加算や畳み込みの作業がなくなったわけではないので、こうしたものはRVVを利用して処理する格好だ。
冒頭に書いたX280は、このSiFive Intelligenceを最初に実装したプロセッサーIPである。ベースとなるのは同社のU74という、インオーダー構成ながら2命令の同時実行が可能なパイプライン8段のプロセッサーで、SiFiveによればCortex-A55と同等以上の性能を持つとするプロセッサーである。x86で言うなら、Atom系列に相当すると考えればいい。
このU74コアに、256bit幅のベクトル演算ユニット(ただしベクトルレジスターは512bit幅)を組み合わせる形でRVVを搭載している。これにあわせ、ベクトル利用時は1次データキャッシュをバイパスして2次キャッシュに対して直接256bit/サイクルでのアクセスが可能な仕組みを追加したのがX280というわけだ。
またRVVはFP32/FP64以外にBF16/FP16やINT 8/16/32/64のデータ型をサポートしており、AIなどで多用されるINT 8/BF16/FP16を利用しての高速化が可能という形になっている。

この連載の記事
-
第852回
PC
Google最新TPU「Ironwood」は前世代比4.7倍の性能向上かつ160Wの低消費電力で圧倒的省エネを実現 -
第851回
PC
Instinct MI400/MI500登場でAI/HPC向けGPUはどう変わる? CoWoS-L採用の詳細も判明 AMD GPUロードマップ -
第850回
デジタル
Zen 6+Zen 6c、そしてZen 7へ! EPYCは256コアへ向かう AMD CPUロードマップ -
第849回
PC
d-MatrixのAIプロセッサーCorsairはNVIDIA GB200に匹敵する性能を600Wの消費電力で実現 -
第848回
PC
消えたTofinoの残響 Intel IPU E2200がつなぐイーサネットの未来 -
第847回
PC
国産プロセッサーのPEZY-SC4sが消費電力わずか212Wで高効率99.2%を記録! 次世代省電力チップの決定版に王手 -
第846回
PC
Eコア288基の次世代Xeon「Clearwater Forest」に見る効率設計の極意 インテル CPUロードマップ -
第845回
PC
最大256MB共有キャッシュ対応で大規模処理も快適! Cuzcoが実現する高性能・拡張自在なRISC-Vプロセッサーの秘密 -
第844回
PC
耐量子暗号対応でセキュリティ強化! IBMのPower11が叶えた高信頼性と高速AI推論 -
第843回
PC
NVIDIAとインテルの協業発表によりGB10のCPUをx86に置き換えた新世代AIチップが登場する? -
第842回
PC
双方向8Tbps伝送の次世代光インターコネクト! AyarLabsのTeraPHYがもたらす革新的光通信の詳細 - この連載の一覧へ














