folon3実行結果
実行したコマンドライン
gcc -O3 -march=i686 -funroll-loops -c matrix.c
mpicc -o matrixtest matrixtest.c matrix.o
scrun -nodes=<n>,scored=rocamadour ./matrixtest <size>
台数と実行時間の比較
|
1 |
2 |
4 |
6 |
8 |
1000 |
3.700 |
1.994 |
1.143 |
0.888 |
0.748 |
2000 |
28.44 |
14.82 |
7.901 |
5.825 |
4.654 |
3000 |
93.04 |
48.48 |
25.39 |
18.09 |
14.22 |
4000 |
219.0 |
113.8 |
58.95 |
41.15 |
32.16 |

※ちなみに、1000*1000行列計測において、計算前(データ転送部含む)に
必要な時間は0.22s程度、計算後に必要な時間は0.04s程度だった。
台数効果のグラフ(2/13更新)

efficiency
1台実行時間/(n台実行時間*n)*100を計算した値を以下に示す。
|
1 |
2 |
4 |
6 |
8 |
1000 |
100 |
92.75 |
80.88 |
69.45 |
61.82 |
2000 |
100 |
95.99 |
89.99 |
81.38 |
76.40 |
3000 |
100 |
95.97 |
91.62 |
85.71 |
81.78 |
4000 |
100 |
96.19 |
92.87 |
88.70 |
85.12 |

参考:実行結果詳細
1000*1000行列
n= |
1 |
2 |
4 |
6 |
8 |
1回目 |
3.701187 |
1.994587 |
1.143349 |
0.887447 |
0.742978 |
2回目 |
3.693898 |
1.99453 |
1.143303 |
0.887915 |
0.756284 |
3回目 |
3.702778 |
1.993641 |
1.143499 |
0.887977 |
0.744728 |
平均 |
3.699287667 |
1.994252667 |
1.143383667 |
0.887779667 |
0.747996667 |
2000*2000行列
n= |
1 |
2 |
4 |
6 |
8 |
1回目 |
28.705997 |
14.814547 |
7.900894 |
5.801682 |
4.644521 |
2回目 |
27.935036 |
14.816971 |
7.901557 |
5.912383 |
4.641085 |
3回目 |
28.688452 |
14.814825 |
7.901917 |
5.760425 |
4.675196 |
平均 |
28.44316167 |
14.81544767 |
7.901456 |
5.82483 |
4.653600667 |
3000*3000行列
n= |
1 |
2 |
4 |
6 |
8 |
1回目 |
93.22041 |
48.472731 |
25.410717 |
18.098818 |
14.22727 |
2回目 |
93.068128 |
48.480012 |
25.371836 |
18.110536 |
14.208806 |
3回目 |
92.840337 |
48.473245 |
25.384502 |
18.070306 |
14.226368 |
平均 |
93.04295833 |
48.47532933 |
25.38901833 |
18.09322 |
14.22081467 |
4000*4000行列
n= |
1 |
2 |
4 |
6 |
8 |
1回目 |
218.998921 |
113.842407 |
58.953739 |
41.151369 |
32.160963 |