人工知能応用・汎用HPCむけ
プロセッサコア構成技術
理化学研究所 計算科学研究センター
粒子系シミュレータ研究チーム
チームリーダー 牧野淳一郎
1

従来技術とその問題点（背景）背景：人工知能の応用で必要となる計算能力は急速に増加している
2010年代の深層学習の実用化以降、必要な計算能力は3−4ヶ月で倍増 (The computing power needed to train AI is now

rising seven times faster than ever before, MIT Technology Review November 11,
2019)

計算能力の向上速度が深層学習応用の発展のボトル
ネックに
2従来技術とその問題点（従来技術の概要）
これまでの技術
CPUを使う：Intel x86 が中心。現在まで、深層学習への対応は部分的（FP16のサポート等）
 GPGPU：NVIDIA, AMD。深層学習向けの演算器を備えたものも（FP16、行列・行列乗算）
 大規模並列化。スパコンで使われているインフィニバンドネット
ワークとMPI

産総研ABCI3

従来技術とその問題点（問題点）
性能向上が頭打ちに年/月

性能（GF/W)

プロセッサ

2011/6

2.1

IBM BG/Q

2013/63.2

NVIDIA K20

2014/64.4

NVIDIA K20x

2015/67.0

PEZY-SC2017/614.1

NVIDIA P100

2018/618.4

PEZY-SC2

2019/615.1

NVIDIA V100

2020/6

21.1

MN-Core

電力性能の向上は10年で10倍程度(www.top500.org)

10年で500倍→10年で30倍

深層学習応用の拡大は電力リミットになっている
4

従来技術とその問題点（問題の原因）半導体技術の進歩の限界（＝ムーアの法則の終焉）
ムーアの法則：LSIが微細化すると サイズに比例して電圧を下げられる
 サイズに比例して寄生容量が小さくなる→サイズの３乗に比例してスイッチングあたりの消費電力が下がる
電圧低下： 動作限界 0.5-0.6V
寄生容量： FinFET, all-gate-around 等の３次元構造が必要になって限界
5従来技術とその問題点（CPUのトレンド）
CPUの動作クロック
2005年以降向上がない
むしろ、ゆっくりだが下がっている
電力の限界のため動作クロックがあがらないのはGPUも同じ
6

従来技術とその問題点（CPUの改良の歴史）
使えるトランジスタ数が増えてきたことに対応してスーパースカラー、アウトオブオーダー機能（複数の命令を並行処理）
 SIMD実行ユニット（１命令で複数データ処理） マルチコア化

どれもCPUでは限界に近づいている 浮動小数点演算器はコアあたり２個
 SIMD幅は512ビット
 共有メモリでのマルチコアは16コアが限界
7

従来技術とその問題点（GPUの対応）
GPUではスーパースカラ、アウトオブオーダーではなく、多数スレッド実行（SMT)での効率向上
 キャッシュコヒーレンシの排除である程度の性能向上を実現

CPUに比べて、電力あたり性能、面積あたり性能どちらも3−5倍程度。

8

従来技術とその問題点（原理的困難）CPUの改良も、GPUの改良も、「今あるプロセッサをちょっとよくする方法」の積
み重ね原理的に何ができるはずか、という限界が明らかでない
このため、今やっていることがどれくらい良い（あるいは悪い）か、どれくらい改良の余地があるか、がわからない(ムーアの法則の限界の意味、「ポスト・ムーア」時代に何ができるかがわからない)
限界が明確な例：
 エンジン：熱力学第二法則
 発電機等のエネルギー形態変換：熱力学第一法則
プロセッサ設計における同様な限界を明らかにして、それを目指す必要がある

9

新技術の特徴・従来技術との比較（基本概念）
基本的な考え方：これまでのプロセッサ・アーキテクチャを一旦忘れて、必要な演算を高い実行効率で行うために、演算器に必要最小限のメモリ、周辺回路、制御回路をつけることで、理論限界に近づける
理論限界＝演算回路だけでトランジスタ、電力を消費
周辺回路、制御回路、演算器自体にいくつかの特許

ブロードキャスト型並列処理のための演算処理装置
 演算装置、演算方法、および演算プログラム
10

従来技術との比較
Preferred Networks社と共同で開発したGRAPE-PFN2は、推論だけでなく学習にも対応したAI（深層学習）向けプロセッサとしては世界最高の1.2 Tops/W（１ワットあたり1秒に1.2兆演算）の電力あたり性能を実現した。
また、汎用のプロセッサとしても、消費電力あたりの性能ランキングであるGreen500の2020年6月のリストで、21.1Gflops/Wを達成し、世界一位となった。

11

従来技術との比較
チップ上のトランジスタのうち演算回路の割合
プロセッサ

開発年

演算回路割合Intel Skylake Xeon

2017

0.8%

富岳(A64fx)

2019

1.3%

NVIDIA A100
PEZY-SCGRAPE-DR

2020
2014
2006

1.7%
2.4%
13.6%

本技術

202X

>25%

競合の10倍以上のトランジスタを演算回路に使うアーキテクチャで高効率を実現
12技術詳細（基本概念）• チップレベルでのSIMD動作により、
 通信・同期のオーバーヘッド
 プログラム解釈・実行のためのオーバーヘッド
 を最小化• さらに以下のような新技術で消費電力・回路規模を削減
 プロセッサコア間の放送・総和をハードウェアでサポート（特許１） 複数精度の行列乗算回路＋SIMDユニットで演算器をシェア、回路規模を縮小（特許２、３）
 行列演算実行中の周辺回路の消費電力を削減（特許４） その他多数のノウハウ
13

技術詳細（SIMD動作）
SIMDとMIMD• MIMD: それぞれのプロセッサコアがそれぞれ別のプログラムを実行（ただし、最近のプロセッサは内部にSIMD動作するユニットを持つ）• SIMD: すべてのプロセッサコアが同じプログラムを実行。
• 感覚的にはMIMDのほうが柔軟で無駄が少ないような気がする• 実際にはむしろ逆になってきている プログラミングモデルは結局「すべてのプロセッサが同じプログラムを実行」MPI(SPMD)、
Cuda/OpenCL スレッド、OpenMPループ並列化等。MIMDでは同期、コア間通信のオーバーヘッドが大きい
 MIMDで多数コアを持つためには、短い命令語を上手く使える命令セットが必要。このため、スーパースカラー実行、アウトオブオーダー実行等の複雑な処理を全プロセッサコアがする必要がある
 SIMD では、長い命令語を使うことでこれらはすべて不要になる。さらに、ベクトル命令をサポートすることで、コンパイラの負担も小さくなる• GPGPUはチップレベルではないがこの考え方に近い

14

技術詳細（特許１）ブロードキャストキャスト並列特許
内容：並列動作する多数のSIMDコアが、単一の共有メモリをもち、 共有メモリは全コアに同じデータを放送できる 全コアから読み出したデータを縮約（和、最大値、論理演算等）して共有メモリに書き込むことができる
 指定したコアのデータの読み書きもできる• 通常のMIMDプロセッサでは、１から数十マイクロ秒かかる 放送：共有されているキャッシュ（なければ主記憶）のデータを順番に読む。コア数に比例した時間（と電力）を消費
 縮約：全コアがまず共有キャッシュにデータを吐き出す。それを単一コアが順に読む。
これもコア数に比例した時間• 本特許ではどちらも数十ナノ秒（パイプライン処理もできる）で実行。
• 深層学習（CNN）の処理で極めて有用。個々のプロセッサコアに送るデータ量を減らせる

15

技術詳細（特許2,3）
演算器の構成に関する特許
内容：倍精度、単精度、半精度の演算器で、回路規模が最も大きい乗算回路を共有する
 FP64の乗算器部分は53ビット、FP32は24ビット、FP16なら10ビット。
 したがって、FP64 の乗算ユニットを27ビットの乗算器４個の合計、とすれば、同じ乗算器をFP32にも使える。さらに、この27ビット乗算器を14ビットの乗算器4個の和、として、FP16にも使える。（53=26+27=13+13+13+14も可能） 普通のSIMD計算では、単精度乗算器だけ４個あっても使えないが、行列乗算なら問題ない。2x2行列と長さ２のベクトルの積にする（半精度なら4x4)
 倍精度で、理想的なWallace 木に比べると若干遅延は増えるが、回路規模は変わらない
 逆に、53ビットx14ビットの、半精度SIMDユニット分の乗算器をもち、マルチサイクルで単精度、倍精度演算を実行することも可能（特許3)• 回路規模を大きく増加させずに、半精度から倍精度までで高い演算性能を実現

16

技術詳細（特許4）周辺回路の電力削減
内容：行列乗算回路で、ハードウェアサイズより大きなサイズの行列演算命令を持つことで、周辺回路の消費電力を削減する
例：4x4の行列とベクトルの演算回路を考える。深層学習で実際に使う行列はもっと大きいので、命令としては 8x8 の行列とベクトルの積を出すようにできる。これは4サイクルで結果が１つでる。
c=c+A・b （Aは行列、b, c はベクトル）という命令を考える。行列Aは演算器が持つレジスタにあり、b, cをレジスタから読んで書く。4x4のままだとサイクル毎に2語読んで1語書く必要があるが、 8x8 をサポートするなら4サイクルで4語読んで2語書くのでよく、レジスタ・メモリの動作速度を演算器の半分にできる。これにより大きな消費電力削減が可能になる

17

想定される用途• 本技術は人工知能（深層学習）向けプロセッサ・アーキテクチ
ャとして従来技術にくらべて大きなメリットがある• 深層学習以外の大規模シミュレーション向けプロセッサとしても、GPUやCPUの利用に比べて高い電力性能・コストパフォーマンスが期待できる。
• データセンター、スパコンセンター向けプロセッサだけでなく、組み込みAI向けプロセッサIPといった方向への展開も可能である。

18

実用化に向けた課題• 現在、すでにMN-Core等の実績もあり、深層学習向けの実用化について大きな課題はない。
• 深層学習以外の用途については、コンパイラ、アプリケーション開発フレームワーク等の開発環境を整備する必要がある。
• 低コストでの開発を可能にするため、最先端から少し遅れた半導体プロセスでも競争力があるプロセッサになるところまでアーキテクチャを改良したい。

19

企業への期待• AI、HPC向けプロセッサ、プロセッサIPを開発中、あるいはプロセッサ開発への展開を考えている企業には、本技術の導入が有効と思われる。
• 今後の発展には演算器の低消費電力、高速動作化がキーとなるので、低消費電力設計技術を持つ企業との共同研究を行いたい。

20

本技術に関する知的財産権
発明の名称 ：演算装置、演算方法、および演算プログラム
出願番号：2019-107283, PCT/JP2020/022377
出願人： 理化学研究所
発明者： 牧野 淳一郎、 戎崎 俊一
発明の名称 ：ブロードキャスト型並列処理のための演算処理装置
出願番号：2006-039790
出願人： 理化学研究所
発明者： 牧野 淳一郎、 戎崎 俊一

21

お問い合わせ先
株式会社理研鼎業（りけんていぎょう）

戦略企画部 （理研新技術説明会事務局）
E-mail: senryaku@innovation-riken.jp※ 連携に関する窓口は、理化学研究所より委託を受けて実施しております。

22