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などに利用されるモデルは通常の畳み込みニューラルネットワークよりももっと複雑であり、こうしたモデルをより高速に実行できるように工夫しているのが特徴だ。
もちろんこれは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を利用しての高速化が可能という形になっている。
この連載の記事
-
第800回
PC
プロセッサーから直接イーサネット信号を出せるBroadcomのCPO Hot Chips 2024で注目を浴びたオモシロCPU -
第799回
PC
世界最速に躍り出たスパコンEl Capitanはどうやって性能を改善したのか? 周波数は変えずにあるものを落とす -
第798回
PC
日本が開発したAIプロセッサーMN-Core 2 Hot Chips 2024で注目を浴びたオモシロCPU -
第797回
PC
わずか2年で完成させた韓国FuriosaAIのAIアクセラレーターRNGD Hot Chips 2024で注目を浴びたオモシロCPU -
第796回
PC
Metaが自社開発したAI推論用アクセラレーターMTIA v2 Hot Chips 2024で注目を浴びたオモシロCPU -
第795回
デジタル
AI性能を引き上げるInstinct MI325XとPensando Salina 400/Pollara 400がサーバーにインパクトをもたらす AMD CPUロードマップ -
第794回
デジタル
第5世代EPYCはMRDIMMをサポートしている? AMD CPUロードマップ -
第793回
PC
5nmの限界に早くもたどり着いてしまったWSE-3 Hot Chips 2024で注目を浴びたオモシロCPU -
第792回
PC
大型言語モデルに全振りしたSambaNovaのAIプロセッサーSC40L Hot Chips 2024で注目を浴びたオモシロCPU -
第791回
PC
妙に性能のバランスが悪いマイクロソフトのAI特化型チップMaia 100 Hot Chips 2024で注目を浴びたオモシロCPU -
第790回
PC
AI推論用アクセラレーターを搭載するIBMのTelum II Hot Chips 2024で注目を浴びたオモシロCPU - この連載の一覧へ