どうも、中島です。MPIを用いた行列演算プログラムの性能を測定した結果を載せます。
ちなみに、用いたプログラムです。C言語です。
$ mpicc -o バイナリの名前 -O2 gyouretuEnzan.c gyouretuEnzan-mpi-v015.c
みたいにしてコンパイルして使ってください。
例:$ mpicc -O2 -o v015 gyouretuEnzan.c gyouretuEnzan-mpi-v015.c
使い方は、
$ mpirun -n 台数 ./バイナリの名前 行列の行数 計算時に分割する行数
です。測定結果が標準出力に吐かれます。
例:mpirun -np 1 ./v015 1000 50
(1000×1000行を50行ずつ分割して1台で計算する例)
5回動かした測定値と、その平均値を掲載します。単位は秒です。なお、計算時の 分割する行数ですが、50行にしました。ただし、3000×3000行を8台で計算した際は 25にしました。
last pid: 5076; load averages: 0.38, 0.41, 0.50 19:56:54
43 processes: 41 sleeping, 2 on cpu
CPU states: 89.8% idle, 10.0% user, 0.2% kernel, 0.0% iowait, 0.0% swap
Memory: 1280M real, 1077M free, 16M swap in use, 1485M swap free
PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND
5076 nakajima 2 25 0 29M 25M cpu 0:22 6.94% v015_O2
4797 nakajima 1 25 0 1488K 1352K cpu 0:11 0.20% top
5050 nakajima 1 15 0 1024K 848K sleep 0:00 0.01% mpirun
161 root 3 -7 0 2952K 1952K sleep 10:43 0.00% automountd
21598 root 1 33 0 2504K 1360K sleep 1:03 0.00% sshd
1 root 1 33 0 1752K 136K sleep 0:39 0.00% init
282 root 1 34 -12 2248K 576K sleep 0:37 0.00% xntpd
184 root 14 -11 0 2464K 1304K sleep 0:11 0.00% nscd
114 root 1 33 0 2088K 648K sleep 0:05 0.00% rpcbind
214 root 1 33 0 1688K 616K sleep 0:04 0.00% lmgrd.ste
175 root 1 23 0 1736K 448K sleep 0:02 0.00% cron
4781 root 1 33 0 2840K 2168K sleep 0:01 0.00% sshd
1887 root 1 33 0 2728K 2032K sleep 0:01 0.00% sshd
18989 root 1 -25 0 1824K 8K sleep 0:00 0.00% rpc.bootparamd
27339 root 1 -23 0 1880K 792K sleep 0:00 0.00% mountd
last pid: 8306; load averages: 8.60, 7.06, 5.33 23:48:14
51 processes: 42 sleeping, 9 on cpu
CPU states: 0.0% idle, 80.3% user, 0.7% kernel, 19.0% iowait, 0.0% swap
Memory: 1280M real, 19M free, 1141M swap in use, 359M swap free
PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND
8245 nakajima 2 -25 0 212M 71M cpu 8:24 10.00% v015
8248 nakajima 2 -25 0 212M 78M cpu 7:37 10.00% v015
8247 nakajima 2 -25 0 212M 105M cpu 7:23 10.00% v015
8249 nakajima 2 -25 0 212M 94M cpu 6:56 10.00% v015
8246 nakajima 2 -25 0 212M 114M cpu 6:02 10.00% v015
8242 nakajima 2 -25 0 212M 153M cpu 6:10 9.97% v015
8241 nakajima 2 -25 0 212M 137M cpu 3:40 9.75% v015
8243 nakajima 2 -25 0 212M 162M cpu 5:00 5.88% v015
8244 nakajima 2 35 0 212M 118M sleep 5:47 4.41% v015
8240 nakajima 2 35 0 212M 136M sleep 3:49 4.23% v015
4797 nakajima 1 -25 0 1488K 560K cpu 4:45 0.21% top
8306 root 1 35 0 2704K 1800K sleep 0:00 0.07% sshd
21598 root 1 24 0 2504K 696K sleep 1:08 0.01% sshd
161 root 2 23 0 2936K 1320K sleep 10:47 0.00% automountd
1 root 1 33 0 1752K 128K sleep 0:40 0.00% init