• 検索結果がありません。

Microsoft PowerPoint - KSano_PCClusterシンポ_基調講演_ _配布資料.pptx

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - KSano_PCClusterシンポ_基調講演_ _配布資料.pptx"

Copied!
16
0
0

読み込み中.... (全文を見る)

全文

(1)

佐野 健太郎

理化学研究所 計算科学研究機構 プロセッサ研究チーム

東北⼤学 ⼤学院情報科学研究科

FPGA

を⽤いた

⾼性能計算の可能性と

データフロープログラミング

FPGA

を⽤いた

⾼性能計算の可能性と

データフロープログラミング

15 Dec, 2017 

マルチコアアーキテクチャの今後

 ポストムーア時代を⽣き延びる⽅法とは︖ 

FPGAを⽤いた⾼性能計算

 最近の話題  データフロー計算システム  密結合FPGAクラスタ 

データフローに基づく

プログラミング

事例

まとめ

概要

概要

(2)

3 講演@CAE計算環境研究会

ムーアの法則

微細化により 18~24ヶ⽉ごとに

チップ上のトランジスタは倍増

デナードスケーリング則

トランジスタの⼨法に⽐例して

電圧と電流は低減

CMOS

性能向上の鍵

4 Dec, 2017 ムーアの法則 デナード スケーリング則

マルチコアスケーリングはいつまで続くか︖

マルチコアスケーリングはいつまで続くか︖

性能 年 1960 1970 1980 1990 2000 2010 ×1.3 / 年 ×1.5 / 年 単体コアの性能向上 メインフレームの時代 マイクロプロセッサ 性能爆発時代 天野英晴「ポストムーア時代の計算プラットフォーム」パネルスライドより ×1.22 / 年 マルチコアの時代 これはもう 終わり

?

デナード則の破綻 トランジスタ数は 18~24ヶ月で倍 → 計算機の性能は 18~24ヶ月で倍

(3)

5

さらに⾼集積化が進み、コアが多数となったとしても

Q1. 消費電⼒を⼀定以下に抑えられるか︖

Q2. 全コアに対し⼗分な並列性があるか︖

15 Dec, 2017 第17回 PCクラスタシンポジウム

マルチコアスケーリングの

終焉

マルチコアスケーリングの

終焉

いいえ。

電⼒制約のために

⼀部のコアは稼働できなくなります

いいえ。

並列性不⾜のために

⼀部のコアは性能に寄与しません

Microprocessor Trend in 40 Years

Microprocessor Trend in 40 Years

2020 Transistors (x103) Single‐thread performance (SpecINT x103) Frequency (MHz) Typical  power (W) # of cores

Original data up to the year 2010 collected and plotted by M. Horowitz, F. Labonte, O. Shacham, K. Olukotun, L. Hammond, and C. Batten, 180nm 250nm 350nm 0.8um 0.5um 1um 1.5um 130nm 90nm 65nm 45nm 28nm 20nm 14nm Semiconductor Scaling トランジスタ数 シングルコア 性能 動作周波数 電⼒ (W) コア数

(4)

7 2020 2010 2000 1990 1980 1970 100 101 102 103 104 105 106 107 15 Dec, 2017 第17回 PCクラスタシンポジウム

Mooreʼs Law is Ending.

Mooreʼs Law is Ending.

Year Frequency Frequency Power Power Thread perf. Thread perf. 180nm 250nm 350nm 0.8um 0.5um 1um 1.5um 130nm 90nm 65nm 45nm 28nm 20nm 14nm 10nm 7nm Semiconductor Scaling Transistors Transistors Cores Cores シングルコア ⻩⾦時代 マルチコア の時代 デナード 則の破綻 5nm? 3nm? 微細化の停滞 or 停⽌, Tr.コストの増⼤ (Bogus scaling, Fab cost) ばら つき の増⼤ トランジスタ数 シングルコア性能 動作周波数 電⼒ コア数 トランジスタ電⼒ 減少せず, チップ電⼒の壁. (Dark silicon)

限界を迎える技術

 単⼀チップ上の集積度向上

 ダークシリコン

×

 信号伝搬やメモリ参照の遅延

×

発展が期待できる技術

 パッケージ・システム レベルの集積 (多チップ)  チップ内外のI/O帯域 (2.5D, 3D, 光電⼦技術, …)

ポストムーアを⽣き延びる

ポストムーアを⽣き延びる

多数のチップ

により与えられた

膨大な数のトランジスタ

増大する信号遅延

の下でも

効率良く使う

アーキテクチャが必要

(5)

9 マイクロプロセッサ (ノイマン型)  メモリ更新サイクル  制御サイクル (実⾏中の決定)  逐次実⾏ ⇒ 遅延の影響⼤  マルチコア︓メモリを介した ⾮効率なデータ移動や同期 15 Dec, 2017 第17回 PCクラスタシンポジウム

ノイマン型 v.s. データフロー

ノイマン型 v.s. データフロー

レジスタ ファイル 命令デコーダ ALU x + + A C yi x x B xi xi xi x + + x x データフロー (⾮ノイマン型)  サイクル ⇒ フロー  制御 ⇒ 構造 (実⾏前の決定)  演算とデータ移動の融合  遅延を許容 (パイプライン) 規則的な⼤量データ処理向き

FPGA ︓ カスタムハードウェアを実現

FPGA ︓ カスタムハードウェアを実現

ロジックというよりは

演算器・メモリ・高速I/O

の巨大アレイ

浮動小数点に対応、動作周波数はまもなく

1GHz近く

日経エレクトロニクス2016年月号 オンチップ メモリブロック 整数・浮動⼩数点 演算器 ロジックブロック 配線とスイッチブロック High-speed I/O (PCI-Express, 10G Ethernet Interlaken, serial transceiver)

(6)

11

ポストムーア時代

 メニーコアのみでは⾮効率、しかし膨⼤な数のチップ  「カスタム化の導⼊、⼤域的同期を避けた並列計算」が有望

チャレンジとアプローチ

 適したアーキテクチャは︖ 専⽤&汎⽤ ⇒ FPGA プログラミングモデルは︖ 局所的な同期 ⇒ データフロー 15 Dec, 2017 第17回 PCクラスタシンポジウム

⽬標・チャレンジ

⽬標・チャレンジ

来るべきポストムーア時代の⾼性能

計算機アーキテクチャ・並列計算モデル

研究課題

 FPGA・カスタムハードウェアを利⽤した計算の⾼速化  データフロープログラミングモデルと動的実⾏の処理系

FPGAに関する最近の話題

FPGAに関する最近の話題

(7)

13 第17回 PCクラスタシンポジウム 15 Dec, 2017

$16.7B

Acquisition of ALTERA by Intel

$16.7B

Acquisition of ALTERA by Intel

intel

ALTERA

(FPGA vendor)

(2015)

(2015)

FPGAのデータセンター利⽤の広がり

FPGAのデータセンター利⽤の広がり

Search engine w/ FPGAs High-speed trading w/ FPGAs

Deep learning w/ FPGAs Data centers w/ FPGAs

Xeon & FPGA

with QPI Power & with CAPIFPGA

(8)

15

Microsoftʼs Project Brainwave

DNN processor (DPU) that is programmed/synthesized

on 14nm Stratix10 FPGAs for deep learning in could services

 Accelerators linked across

high bandwidth, low-latency fabric to dynamically allocate

the resources to optimize their utilization.

 Significant performance

advantages over

Googleʼs TensorFow (ASIC)

15 Dec, 2017 第17回 PCクラスタシンポジウム

FPGA Wins Versus

Google TPUs for AI

FPGA Wins Versus

Google TPUs for AI

https://www‐forbes‐com.cdn.ampproject.org/c/s/www.forbes.com/sites/moorinsights/2017/08/28/microsoft‐fpga‐wins‐versus‐google‐tpus‐for‐ai/amp/

[Microsoft HotChips2017]

FPGAs in AWS (Amazon Web Services)

FPGAs in AWS (Amazon Web Services)

(9)

17 15 Dec, 2017

FPGAによる⾼性能

データフロー計算システム

FPGAによる⾼性能

データフロー計算システム

第17回 PCクラスタシンポジウム

⽬標とする計算モデルとアーキテクチャ

⽬標とする計算モデルとアーキテクチャ

⼤域データフロー実⾏モデル memory / storage memory /

storage memory /storage

FPGAs/ CPUs CPUs Global  network Task (kernel) FPGA拡張部を有する計算ノード Main memory Core node Core Core CPU’s network Memory FPGA Core Core Core Inter-FPGA network Memory FPGA Memory Mem C C M F FPGA

Allocation, Scheduling > automated

(10)

19

密結合FPGAクラスタの試作

 システムオンチップデザイン  ソフトウェアスタック(driver, API)  データフローコンパイラ  アプリによる性能評価(津波, 流体)

複数FPGAによるスケーラブル計算

 FPGAパイプライン  N-Body(ストリームレジスタファイル)  流体計算(帯域圧縮)  2D トーラス網

データフローコンパイラの改良

 グラフパッキングの⾃動探索 15 Dec, 2017 第17回 PCクラスタシンポジウム

研究開発の進捗

研究開発の進捗

Node 1 Node 2 Node 3 Node 4 Arria10 FPGA (20nm, floating-point DSPs) QDR II+ SRAM A QDR II+ SRAM B QDR II+ SRAM C QDR II+ SRAM D DD R3 DR A M A P C 3-17 00 0 ( D DR3 -2 13 3) DD R3 DR A M B P C 3-17 00 0 ( D DR3 -2 13 3) 40G QSFP+ A (tx,rx) 40G QSFP+ B (tx,rx) 40G QSFP+ C (tx,rx) 40G QSFP+ D (tx,rx) ALTERA Arria10 FPGA 10AX115 17.1 GB/s GB/s17.1 x18@ 550MHz 1GB/s forread/write 40Gbps each (tx,rx) 18 Mbits each (20-bit addressing for 18-bit data)

4GB each as default (up to 8GB) x64@ 1066MHz (DDR) PCIe 3.0 x 8 : 8GB/s DE5A-NET Board PCI-Express DDR3 memory QDRII SRAM QSFP+ 40G Ether FPGA 4 boards per node

不変のハードウェア部

可変部︓ユーザコア データフローコンパイラで⽣成  アプリに共通の機能を提供

メモリ I/F, PCIe I/F, NW I/F

オンチップインタコネクト  ホスト側のシステムソフト ドライバ, API

FPGA Shell

FPGA Shell

Data-flow pipeline Router / interconnect QSFP+ D 40G SERDES QSFP+ C 40G SERDES QSFP+ B 40G SERDES QSFP+ A 40G SERDES Gen2 x8 DDR3 B DDR3 A DDR3 I/F 2 DDR3 I/F 1 PCIe I/F Host FPGA DF pipe DF pipe

QDR II+

SRAM A SRAM BQDR II+ SRAM CQDR II+ QDR II+ SRAM D DDR3 DRAM A PC3-170 00 (D DR3-2133 ) DDR3 DRAM B PC3-170 00 (D DR3-2133 ) 40G QSFP+ A (tx,rx) 40G QSFP+ B (tx,rx) 40G QSFP+ C (tx,rx) 40G QSFP+ D (tx,rx) ALTERA Arria10 FPGA 10AX115 17.1 GB/s GB/s17.1 x18@ 550MHz read/write1GB/s for 40Gbps each (tx,rx) 18 Mbits each

(20-bit addressing for 18-bit data) 4GB each as default (up to 8GB) x64@ 1066MHz (DDR) PCIe 3.0 x 8 : 8GB/s DE5A-NET Board PCI-Express DDR3 memory QDRII SRAM QSFP+ 40G Ether FPGA FPGA Shellのブロック図

(11)

21

ステンシル計算

 LBM, 津波シミュ 

多体問題

今後の計画

 Deep learning

 Spiking neural network

15 Dec, 2017 第17回 PCクラスタシンポジウム

アプリ

アプリ

Tsunami simulation N-Body

Fluid dynamics simulation (LBM)

データフローに基づく

プログラミング

データフローに基づく

プログラミング

(12)

23

既存の⾼位合成(HLS)コンパイラの問題

いわゆるHLSコンパイラ SW⾔語でHW(IP core)を記述 (Vivado-HLS, CWB) 計算を即実⾏できない(システムは別) システムHLSコンパイラ システム全体を合成し、計算が即実⾏可 (OpenCLなど) SWモデルに限定、最適化が困難 いずれにしても、複数FPGAをプログラムできない︕ 15 Dec, 2017 第17回 PCクラスタシンポジウム

データフローに基づく

ストリーム計算回路コンパイラ

SPGen

データフローに基づく

ストリーム計算回路コンパイラ

SPGen

本研究 : Stream Processor Generator (SPGen)

 データフロー計算モデルに特化した⾼抽象度⾔語  数式のみの記述で計算を実⾏可

 データフローグラフの形状・HW構造を制御可、最適化が容易  将来は、密結合された複数FPGA上のデータフローをプログラム

Stream Processing Description (SPD)

Stream Processing Description (SPD)

PE pe10 PE pe11 x0_0 y0_0 x0_1 y0_1 x1_0 y1_0 x1_1 y1_1 PE pe20 PE pe21 x2_0 y2_0 x2_1 y2_1 Name PE; ### Define pipeline “PE”

Main_In {in:: x_in, y_in};

Main_Out {out::x_out, y_out};

EQU eq1, t1 = x_in * y_in;

EQU eq2, t2 = x_in / y_in;

EQU eq3, x_out = t1 + t2;

EQU eq3, y_out = t1 - t2;

Name Core; ### Define IP core “Core”

Main_In {in:: x0_0, x0_1, y0_0, y0_1};

Main_Out {out::x2_0, x2_1, y2_0, y2_1}; ### Description of parallel pipelines for t=0

HDL pe10, 123, (x1_0, y1_0) = PE(x0_0, y0_0);

HDL pe11, 123, (x1_1, y1_1) = PE(x0_1, y0_1);

### Description of parallel pipelines for t=1

HDL pe20, 123, (x2_0, y2_0) = PE(x1_0, y1_0);

HDL pe21, 123, (x2_1, y2_1) = PE(x1_1, y1_1);

x_in y_in x / + -x_out y_out 計算コア(DFG) 階層的ハードウェア構造 数式記述 モジュール呼出し

(13)

25 第17回 PCクラスタシンポジウム 15 Dec, 2017

SPGenツールチェイン

SPGenツールチェイン

SPD ファイル DFG 最適化ツール ReAlEx(開発中)FP-DSP の最適割当て演算ノードクラスタリング 最適化済み SPD ファイル SPGen • フロー制御ラッパー⽣成 • パイプライン同⼠の接続 • スケジューリング FPGen式からパイプライン⽣成多⼊⼒・多出⼒ • FP-DSP 利⽤可 FloPoCo式からパイプライン⽣成 • 多⼊⼒・単出⼒ • FP-DSP 利⽤不可 FPGAコンパイラHW のコンパイル • ビットストリーム⽣成 START FINISH NEW!

データフロー

コンパイルの流れ

データフロー

コンパイルの流れ

+ a b c d e f x x -/ x + 123 -+ x y Main_In {in:: a, b, c, d, e, f}; Main_Out {out:: x, y};

EQU eq1, t1 = a*b + c*d; EQU eq2, t2 = c/d – e; EQU eq3, x = t1*t2 + 123; EQU eq4, y = t1 - t2 + f;

SPD (Stream Processing Description)

pipe “t1” pipe “t2” pipe “x & y” Formula pipeline generator (FPGen) t1 a b c d e f x y t2 x & y ReAlEx (clustering, resource mapping) Stream processor generator (SPGen) pipe “t1” pipe “t2” pipe “x & y” x y a b c d e f DFGのHW資源への最適マッピングを探索

(14)

27 15 Dec, 2017

数値流体⼒学計算への応⽤事例

Arria10 FPGAによる津波シミュレーション

数値流体⼒学計算への応⽤事例

Arria10 FPGAによる津波シミュレーション

第17回 PCクラスタシンポジウム

複数ループの融合と単⼀ストリーム化

複数ループの融合と単⼀ストリーム化

ストリーム化したアルゴリズム (最初と最後のみメモリ読書き) 元のアルゴリズム (各ループの度にメモリを参照) 時間積分 のループ 終了判定 Y N 外部メモリ 初期化 x方向正準変換 終了判定 初期化 x方向主計算 Y N x方向逆変換 y方向 x方向 スイープ x方向正準変換 x方向主計算 x方向逆変換 y方向 時間積分 のループ x方向 スイープ y方向 スイープ

(15)

29 講演@CAE計算環境研究会 4 Dec, 2017 x方向の 関連 モジュール y方向の 関連 モジュール

ストリーム計算要素

SPE

データフローに基づく計算ハード

3273 段のパイプライン 8 入力, 8 出力, 288 演算器 (加算147, 乗算121, 除算12, 平方根2) x方向主計算 モジュール

時間並列性による性能向上

時間並列性による性能向上

時間並列性あり

t=3 t=2 t=1 連続する複数タイムステップを並列に計算 (粗粒度パイプライン) SPE SPE SPE パイプラインの多段化 帯域⼀定のまま 性能向上 〜6 SPEs

時間並列性無し

t=1 SPE SPE

(16)

31 第17回 PCクラスタシンポジウム 15 Dec, 2017

単⼀Arria10 FPGAによる計算性能と電⼒

単⼀Arria10 FPGAによる計算性能と電⼒

Performance and power of board Performance per power

Arria10 FPGAはGPUよりも優れた性能と電力性能比

64.8 129.4 193.6 257.5 320.6 383.0 44.6 219.2 0 50 100 150 200 0 50 100 150 200 250 300 350 400 Po w e r [W ] P e rf orm a n c e [ G F lops ] Computation Power Idle power (programmed) 45.5 W 91.5 W 184.9 W 1 2 3 4 5 6 Tesla K20c R9 280XRadeon SPEs on Arria10 FPGA at 225MHz GPUs

Performance

Arria10 FPGA GPUs

185W 45.5W 383GF 219GF 91.5W 44.6GF 2.23 3.83 5.32 6.36 7.44 8.42 0.49 1.19 0 1 2 3 4 5 6 7 8 9 Perfo rm a nc e p er Pow e r [G F lo p s /W] 1 2 3 4 5 6 Tesla K20c R9 280XRadeon SPEs on Arria10 FPGA at 225MHz GPUs

Arria10 FPGA GPUs

1.19 8.42 0.49 x 7.1

ポストムーアを⽣き延びる⽅法

カスタムハードウェアによる特化型計算 ⇒ ⾼効率化  データフロー計算 ⇒ ⼤域的同期を回避

FPGAによるデータフロー計算

 既に⾼性能・低消費電⼒計算デバイス  産業応⽤や⾼性能計算事例  課題 ・プログラミング・最適化 ・膨⼤な配置配線時間(回路のコンパイル=数時間〜) ・⼤規模システムにおけるスケーラビリティ

おわりに

おわりに

異アーキテクチャ、異プログラミング⼿法が⽣まれる カンブリア爆発的 多様化時代 の到来

参照

関連したドキュメント

 当図書室は、専門図書館として数学、応用数学、計算機科学、理論物理学の分野の文

の総体と言える。事例の客観的な情報とは、事例に関わる人の感性によって多様な色付けが行われ

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

社会調査論 調査企画演習 調査統計演習 フィールドワーク演習 統計解析演習A~C 社会統計学Ⅰ 社会統計学Ⅱ 社会統計学Ⅲ.

 「事業活動収支計算書」は、当該年度の活動に対応する事業活動収入および事業活動支出の内容を明らか

 「事業活動収支計算書」は、当該年度の活動に対応する事業活動収入および事業活動支出の内容を明らか

・最大津波流速 3.2m/s による船尾方向への流 圧力 19.0tonf に対し,船尾スプリング+ヘ ッドラインの係留力は約 51tonf であり対抗 可能.. ・最大津波流速

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計