分散メモリ型計算機上での行列乗算の並列化

分散メモリ型計算機上での
行列乗算の並列化
280867085 澤田 賢吾
280867182 永井 徹郎
概要
 MPIによる行列乗算の並列化
 通信をしない分割方式(分割方式①)
 通信をする基本的な分割方式(分割方式②)
 通信を隠蔽した分割方式(分割方式②’)
 結果の比較
 まとめ
通信をしない分割方式
(分割方式①)
 行列Aは全てのPUに情報が与えられる
 行列Bは下図の様に分割され、各PUに均等に
与えられる
PU0
PU0~3
A0
A1
A
A2
×
PU3
B0 B1 B2 B3
=
C0 C1 C2 C3
通信をする基本的な分割方式
(分割方式②)
 各行列は下図のように分割され、各PUは担当
するブロックの情報を与えられる
PU0
PU0
PU1
PU2
PU3
A0
A1
A2
A3
×
PU3
B0 B1 B2 B3
=
C0 C1 C2 C3
 上記の分割方式で通信の隠蔽を行なった
分割方式②’でも計算を行なった
計算時間の結果(1)
 計算にはFujitsu PRIMEPOWER HPC2500を使用
 CPU=5の場合
正方行列のサイズ
3000
6000
9000
分割方式①
(sec)
2.367435
18.41559
61.26151
分割方式②
(sec)
2.451021
18.77049
61.75807
分割方式②’
(sec)
1.896956
14.77878
48.88081
計算時間の結果(1)
CPU=5の場合
計算時間
100
①
②
②'
10
1
1000
10000
正方行列のサイズ
計算時間の結果(2)
 計算にはFujitsu PRIMEPOWER HPC2500を使用
 CPU=10の場合
正方行列のサイズ
3000
6000
9000
分割方式①
1.177917
9.542918
30.92863
分割方式②
1.351202
9.977322
32.15252
分割方式②’
1.120267
8.658018
28.26291
計算時間の結果(2)
CPU=10の場合
計算時間
100
10
①
②
②'
1
1000
10000
正方行列のサイズ
計算時間の結果(3)
 計算にはFujitsu PRIMEPOWER HPC2500を使用
 CPU=15の場合
正方行列のサイズ
3000
6000
9000
分割方式①
0.91491
6.456903
21.76459
分割方式②
1.140366
7.591426
23.29419
分割方式②’
0.939067
6.586925
20.94458
計算時間の結果(3)
CPU=15の場合
計算時間
100
10
①
②
②'
1
1000
10000
0.1
正方行列のサイズ
並列数と台数効果の関係
 N=9000
台数効果
20
15
10
①
②
②'
5
0
0
5
10
並列数
15
20
まとめ
 行列のサイズが小さく、かつ、並列数が多い
場合、通信をしない分割方式での計算が最も
早い場合がある
 通信の隠蔽を行なわない場合、通信をしない
分割方式のほうが計算時間は短かった
 計算時間>通信時間でないと通信の隠蔽によ
る効果は発揮されないと考えられる
 通信の隠蔽を行うと並列数以上の台数効果
が期待できる