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