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

逐次添加サンプリング方式によるパラメータ自動チューニングに関する研究

N/A
N/A
Protected

Academic year: 2021

シェア "逐次添加サンプリング方式によるパラメータ自動チューニングに関する研究"

Copied!
26
0
0

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

全文

(1)

非同期的な数学的

アルゴリズムのソフトウェアの

可能性

科研費基盤(B)

O(1億)コア環境における

スケーラブルな数値計算ソフトウェアの理論と応用

*Toshiyuki Imamura (今村俊幸),

RIKEN Advanced Institute for Computational Science

(2)

研究目的

数万から数億のコアプロセッサが搭載される計算システム環境下に

おいて、過去に蓄積された高性能な数値計算サービスや新しい数学

原理に基づく方法を早期に実現するには、様々な粒度での強or 弱ス

ケーリングを実現する基本カーネルの整備が必要である。様々な並

列階層で取扱いできる軽量数値カーネル構築と共に非同期的な数値

計算アルゴリズムを組み合わせることが重要である。

1.

大規模非同期的数値計算アルゴリズムの理論

2.

超メニイコアでのスケーラブルな軽量コード生成のための自動

チューニング・通信同期回避技術などの核基盤技術の研究

次世代数値計算ソフトウェアの新技術創出に繋がる新機軸探究を進

める。

25.Dec.2015 ATTA2015@山上会館 2

(3)

サブテーマと体制

①.非同期的アルゴ リズムの構成方法と 数理的性質 ②.非同期的アルゴ リズムを計算機上で 表現する手法 ③.小規模・中規模 粒度での低オーバ ヘッド技術(通信・同 期削減技術など) ④.メニイコア環境で 実現するためのソフ トウェア周辺技術 ATTA2015@山上会館 3 25.Dec.2015

(4)

きっかけとなった基礎技術

分析と可能性

CA = Communication Avoidance

AS = ASynchronous algorithm

(5)

CA: Communication Avoidance

There are many studies

CAQR by L. Grigori, “Avoiding Communication in Linear Algebra”, J.

Demmel, “Introduction to Communication-Avoiding Algorithms, SC11 tutorial, 2011, et al.

MPK by M. Hoemmen, “Communication Avoiding Krylov Subspace

Methods”, Ph.D dissertation, UCB, 2010.

2.5/3D matirix-matrix multiplication, and CALU and so on

CA-CG by E. Carson et al. “An Efficient Deflation Technique For

the Communication-Avoiding Conjugate Gradient Method”, ETNA, 2014.

CA-SBR by G. Ballard, “Avoiding Communication in Successive

Band Reduction”, UCB/EECS-2013-131.

• and so forth..

ATTA2015@山上会館 5

(6)

CAQR

Algorithm: TS-QR

ATTA2015@山上会館 6

In case of p=4 MPI_Allreduce or p-t-p comms are needed. If binary-tree merge is applied,

log p(when with p processes)

Conventional Householder QR needs b log p allreduce’s (b is n. of vectors)

(7)

7

加算器の並列化(キャリー予測)

(2/2)

加算器数 (3/2) n,時間 (1/2) nt + α (t は1ビット全加算器のレイテンシ,α はセレクタのレイテンシ)  再帰的並列化も可能. S3 S4 B1 A1 S1 0 B2 A2 S2 B3 A3 A4 B4 0 B3 A3 A4 B4 1 C :セレクタ

(8)

8

並列加算器の解釈

y = f(x), z = g(y)

有限個のサンプル解 g(y(1)), g(y(2)), …, g(y(q)) と, x によって,サンプ

ル解以外で g を使わずに真解 z を表現.

【加算器】z = (1 - x) g(0) + x g(1)

f(x) , g(y(1)), g(y(2)), …, g(y(q)) は依存関係なし.

 アルゴリズム

1. f(x), g(y(1)), g(y(2)), …, g(y(q)) を計算.(同期不要・演算量増大)

2. z = h(g(y(1)), g(y(2)), …, g(y(q)), y) を(低コストに)計算.

g が線型ならば, z は適切に選ばれた g(x(1)), g(x(2)), …, g(x(q)) の線型

(9)

9

Chow の非同期不完全 LU 分解

 未知数を反復法によって計 算.  各未知数の計算を並列実 行.依存対象変数が更新さ れていればなければ,更新 前の値を使う. 古典的不完全LU 分解

(S is a set of the indices of the nonzero elements.) for i = 2, …, n do

for k = 1, …, i - 1 and (i, k) is in S do

Compute ai,k= ai,k / ak,k

for j = k + 1, …, n and (i, j) が非ゼロ doCompute ai,j= ai,j - ai,kak,j

Chow の非同期不完全 LU 分解

(S is a set of the indices of the nonzero elements.) for p = 1, 2, … until convergence do

parallel for (i, j) is in S do if i > j then  Compute if i > j then  Compute  (i, j) 要素の変数は計算結果 は,同じ行の左側,同じ列 の上側の要素の結果に依 存.  頻繁な同期が必要.

(10)

10

Chow の不完全 LU 分解の一反復の解釈

y = [y1, y2, ..., yq]T = f(x), z = g(y)

 【Chow の ILU の一反復】依存対象の変数の更新後の値(yk )が未だ

計算されていない場合,更新後の変数(yk )を使う計算 g の代わり に,更新前の値を使う(変数 yk に依存しない)g の近似アルゴリズ ムによって z の近似値を求めている考える.あらかじめ g の近似 g(1), g(2), ... (g よりも少ない個数の変数に依存) が存在するように f, g を設計し,並列実行時の変数の更新状況によっ て,実際に使用するアルゴリズムを(自動的に)選択する.  類似アルゴリズム  Jacobi 法,Gauss-Seidel 法(G-S 法)の中間的アルゴリズム  古典 Gram-Schmidt (CGS),修正 Gram-Schmidt (MGS)の中 間的アルゴリズム.

(11)

11

非同期アルゴリズムの二つの類型

 サンプル解による真解の表現 (例:並列可算機等)  サンプル解の数に比例する演算量の増加.  真解をサンプル解によって厳密に表現すれば,厳密に解を求める 非同期アルゴリズムが得られる.  複数の近似アルゴリズム候補からの選択 (例:Chow の ILU,Jacobi/G-S 法の中間,CGS/MGS の中間)  複数の候補アルゴリズムが存在.  並列実行時の依存対象変数の更新状況によってアルゴリズムが決 定.

(12)

従来法(Householder QR)の問題点

• 列ベクトル全体をまとめて処理

⇒全プロセスでの同期(内積等のための集団通信)

• 一列ごとに上三角化

⇒同じ処理を

O(列数)だけ繰り返す

全体:(全プロセスの同期)×O(列数)

25.Dec.2015 ATTA2015@山上会館 12

(13)

まとめると・・・

全プロセスでの同期 × O(列数)回 全プロセスでの同期 × O(列数/ブロック幅)回 一部のプロセスのみの同期 × O(列数/ブロック幅)回 一部のプロセスのみの同期 × O(列数)回 いわゆる タイルQR 25.Dec.2015 ATTA2015@山上会館 13

(14)

その他、応用分野からの分析、

実装など

(15)
(16)
(17)
(18)
(19)
(20)

Grid-Occupancy(性能モデル)

理想的なスレッドブロック数 (SMs × Max-TBs-per-SMの倍数)と,起

動したスレッドブロック数 (Launched-TBs) の関係を,以下のように定

義:

20 GPU Launched-TBs = 104 Grid-Occupancy =104/ceil(104,104) = 100% SM SM SM SM GPU Launched-TBs = 105 Grid-Occupancy = 105/ceil(105,104) = 50% SM SM SM SM

Grid-Occupancy =

Launched-TBs

ceil (Launched-TBs, SMs

×

Max-TBs-per-SM)

Launched-TBs Matrix M … 行数Mに比例して スレッドブロックが起動 GPU上の複数のSMが スレッドブロックを実行

※ceil(x, y): xを最も近いyの倍数に切り上げ

NVIDIA GPUにおけるメモリ律速なBLASカーネルのスレッド

数自動選択手法(2/9)

(21)

Warp, Block, Gridの3レベルのOccupancyの導入

[SWoPP2015]

Warp-Occupancy カーネルが達成可能な1マルチプロセッサにおけるワープレベルの 並列度

Block-Occupancy カーネルが達成可能な1マルチプロセッサにおけるスレッドブロッ クレベルの並列度

Grid-Occupancy グリッドが達成可能なデバイス上の全マルチプロセッサにおける スレッドブロックの占有率

3つのOccupancyに基づくスレッドブロックサイズ決定

1.

スレッドブロック:レイテンシ隠蔽に必要なWarp-OccupancyとBlock-Occupancyを達成可能なスレッド数

2.

グリッド:Grid-Occupancyが100%になるスレッドブロック数

サンプリング実行+自動チューニングによる最小Warp/Block-Occupancy

等の探索

(詳細は[SWoPP2015]) 21

NVIDIA GPUにおけるメモリ律速なBLASカーネルのスレッド

数自動選択手法(5/9)

25.Dec.2015 ATTA2015@山上会館

(22)

これまでの研究(GPU BLASのスレッ

ド数自動選択)の発展

Maxwell以降はあまり価値がなくなりそう …  命令レイテンシ削減によりOccupancyを上 げる必要がなくなった  スレッドブロックサイズ選択が性能に与え る影響が少なくなった&適当な実装でもそ こそこ性能が出る

GEMM, SpMV等への応用  スレッドブロックサイズ以外のパラメータ選 択が重要になることが多い

マルチGPUへの拡張(進行中)

OpenCLへの適用? 22

今後の計画(1/3)

25.Dec.2015 ATTA2015@山上会館

(23)

新しいテーマ:マルチGPUの活用

マルチGPU化するメリットがない(コアが余ってしまう

ような)小行列の計算を高速化したい

2.5Dアルゴリズム風の実装が可能か?

分散並列における2.5D行列積

[Solomonik & Demmel 11]

3次元(ijk)のプロセスグリッドにおいて,k方向に行列 データをc個冗長に持って計算

k=0〜c-1の各2次元(ij)プロセスグリッド上で行列積 を1/cだけ計算し最後にk方向に結果を足し合わせ て計算完了

通信量・通信回数が減らせる

マルチGPUにおける2.5Dアルゴリズム

行列積でij方向の分割では並列数が足りない場合 にk方向をGPU数で分割?(現在検討中)  1次元スレッドブロックより2次元スレッドブロックの方が Occupancyを稼ぎやすいのと似た発想 23

今後の計画(2/3)

0 (p/c)1/2-1 (p/c)1/2-1 c-1 k i 0 0 j 25.Dec.2015 ATTA2015@山上会館

(24)

研究グループ活動まとめ

H27開始年度

(25)

まとめ

非同期原理につながる基本原理の再考

• Communication Avoidance • Synchronous Reducing • Synchronous algorithms •

注目の実アプリ積分スキーム

• Parallel-in-Space/Time •

非同期ソフト構築のために

• GPGPU/MICでのLightweightカーネル • パラメタ選択戦略性能チューニング 25.Dec.2015 ATTA2015@山上会館 25

(26)

今後の課題:AT x {CA, SR and AS}=?

What are principles of and relations among CA, SR and

AS ?

How do we organize algorithms?

• Mathematical features • Behavior analysis

How do we “map and describe” them on the

modern-computer architectures and “link with AT” ?

• Programability • Performance modeling • Debugging • Tracability • Reducibility ATTA2015@山上会館 26 25.Dec.2015 1st FY : 調査検討 2nd FY: 少し具体化(プロタイプ) 3rd FY: 具体化から実機上実験

参照

関連したドキュメント

1、研究の目的 本研究の目的は、開発教育の主体形成の理論的構造を明らかにし、今日の日本における

刑事違法性が付随的に発生・形成され,それにより形式的 (合) 理性が貫 徹されて,実質的 (合)

横断歩行者の信号無視者数を減少することを目的 とした信号制御方式の検討を行った。信号制御方式

行列の標準形に関する研究は、既に多数発表されているが、行列の標準形と標準形への変 換行列の構成的算法に関しては、 Jordan

こうした背景を元に,本論文ではモータ駆動系のパラメータ同定に関する基礎的及び応用的研究を

非難の本性理論はこのような現象と非難を区別するとともに,非難の様々な様態を説明

 介護問題研究は、介護者の負担軽減を目的とし、負担 に影響する要因やストレスを追究するが、普遍的結論を

以上のことから,心情の発現の機能を「創造的感性」による宗獅勺感情の表現であると