MPIにおける行列計算

MPIを用いた並列処理計算
情報論理工学研究室
06-1-037-0038
金久 英之
目次








背景
並列処理
仮想並列計算機
MPI
MPICH
計算方法
結果・考察
結論
背景


近年、処理時間を高速化することは、計算
機を使用する上での重大な課題
並列計算機
並列処理
ある一つの処理を複数のプロセッサを用いて行うこと

メリット
データや機能を分割処理出来る
故障に強い

デメリット
複数のプロセッサが必要
通信時間の発生
仮想並列計算機


安価で並列計算機の構築ができる
容易に並列処理ができる
MPI(Message Passing Interface)

メッセージ通信ライブラリ

世界標準を目的とし開発

移植性が高い
MPICH

ゴードン国立研究所が開発

無償で配布されているライブラリ

移植性を重視

Windows系へのサポート
計算方法


8個のN*Nの行列積を求めるプログラム
行列のサイズを10*10から1000*1000
をそれぞれ検証
同性能のプロセッサ4台を用意
OSはWindowsで統一
PC
PC
PC
ハブ
PC
行列の計算方法1
A1
ホストコンピュータ
(8個のN*N行列データ保持)
A3
A4
サブコンピュータ1
A5
A6
サブコンピュータ2
A2
A7
行列データを
2つずつ送信
A8
サブコンピュータ3
行列の計算方法2
Result
ホスト
結果送信
ホスト
サブ2
{A1*A2}{A3*A4}
{A5*A6}{A7*A8}
結果送信
結果送信
A1*A2
ホスト
A3*A4
サブ1
A5*A6
サブ2
A7*A8
サブ3
処理結果(秒)
CPU\行列サイズ
10
100
500
1000
1台
0.015s 0.066s 10.87s 167.2s
4台
0.012s 0.051s 7.291s
86.3s
1.25倍
1.93倍
速度向上率
1.3倍
1.5倍
結論
本研究では、MPIによる行列積計算の
検証をした
 MPIによる、処理の高速化は有効

容易にプログラミングが出来る