-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrunallamr
executable file
·133 lines (123 loc) · 3.67 KB
/
runallamr
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
if [ $# == 0 ]; then
echo Please provide a meaningful suffix
exit
fi
ncase=20
suffix=$1
iterdivide=4
iterstart=10240
nstart=900
nref_start=450
root=$HOME/esg-prk-devel
appdir=AMR
exe=amr
policy=FINE_GRAIN
echo Starting plain OpenMPI tests
cp common/make.defs.ompi common/make.defs
cd $root/MPI1/$appdir
n=$nstart
nref=$nref_start
iter=$iterstart
make clean; make $exe RESTRICT_KEYWORD=1 LOOPGEN=1
while [ $n -le 50000 ]; do
filename=runompi.$n.$iter.out.$suffix
\rm -f $filename
touch $filename
flops=0
case=0
while [ $case -lt $ncase ]; do
outperf=`/home/rfvander/ompi-install/bin/mpirun -np 36 -bind-to-core ./$exe $iter $n $nref 0 2 1 1 $policy | grep Rate`
perf=`echo $outperf | awk '{ print $3 }'`
avg=`echo $outperf | awk '{ print $7 }'`
echo $perf $avg >> $filename
flops=`echo $flops + $perf | bc`
case=`expr $case + 1`
done
flopsavg=`echo "scale = 6; $flops / $ncase" | bc`
echo Done with OpenMPI $appdir, size $n flopsavg = $flopsavg >> $filename
n=`expr $n \* 2`
nref=`expr $nref \* 2`
iter=`expr $iter / $iterdivide`
done
cd $root
echo Starting OpenMPI + ULFM tests
cp common/make.defs.ulfm common/make.defs
cd $root/MPI1/$appdir
n=$nstart
nref=$nref_start
iter=$iterstart
make clean; make $exe RESTRICT_KEYWORD=1 LOOPGEN=1
while [ $n -le 50000 ]; do
filename=runompi+ulfm.$n.$iter.out.$suffix
\rm -f $filename
touch $filename
flops=0
case=0
while [ $case -lt $ncase ]; do
outperf=`/home/rfvander/ompi+ulfm-install/bin/mpirun -np 36 -bind-to-core -am ft-enable-mpi ./$exe $iter $n $nref 0 2 1 1 $policy | grep Rate`
perf=`echo $outperf | awk '{ print $3 }'`
avg=`echo $outperf | awk '{ print $7 }'`
echo $perf $avg >> $filename
flops=`echo $flops + $perf | bc`
case=`expr $case + 1`
done
flopsavg=`echo "scale = 6; $flops / $ncase" | bc`
echo Done with OpenMPI + ULFM $appdir, size $n flopsavg = $flopsavg >> $filename
n=`expr $n \* 2`
nref=`expr $nref \* 2`
iter=`expr $iter / $iterdivide`
done
cd $root
echo Starting plain Intel MPI tests
cp common/make.defs.impi common/make.defs
cd $root/MPI1/$appdir
n=$nstart
nref=$nref_start
iter=$iterstart
make clean; make $exe RESTRICT_KEYWORD=1 LOOPGEN=1
while [ $n -le 50000 ]; do
filename=runimpi.$n.$iter.out.$suffix
\rm -f $filename
touch $filename
flops=0
case=0
while [ $case -lt $ncase ]; do
outperf=`mpirun -np 36 ./$exe $iter $n $nref 0 2 1 1 $policy | grep Rate`
perf=`echo $outperf | awk '{ print $3 }'`
avg=`echo $outperf | awk '{ print $7 }'`
echo $perf $avg >> $filename
flops=`echo $flops + $perf | bc`
case=`expr $case + 1`
done
flopsavg=`echo "scale = 6; $flops / $ncase" | bc`
echo Done with Intel MPI $appdir, size $n flopsavg = $flopsavg >> $filename
n=`expr $n \* 2`
nref=`expr $nref \* 2`
iter=`expr $iter / $iterdivide`
done
echo Starting Fenix tests
cd $root/FENIX/$appdir
n=$nstart
nref=$nref_start
iter=$iterstart
make clean; make $exe RESTRICT_KEYWORD=1 LOOPGEN=1
while [ $n -le 50000 ]; do
filename=runompi+ulfm+fenix.$n.$iter.out.$suffix
\rm -f $filename
touch $filename
flops=0
case=0
while [ $case -lt $ncase ]; do
outperf=`/home/rfvander/ompi+ulfm-install/bin/mpirun -np 36 -bind-to-core -am ft-enable-mpi ./$exe $iter $n $nref 0 2 1 1 0 0 30000 0 $policy 2>/dev/null | grep Rate`
perf=`echo $outperf | awk '{ print $3 }'`
avg=`echo $outperf | awk '{ print $7 }'`
echo $perf $avg >> $filename
flops=`echo $flops + $perf | bc`
case=`expr $case + 1`
done
flopsavg=`echo "scale = 6; $flops / $ncase" | bc`
echo Done with Fenix $appdir, size $n flopsavg = $flopsavg >> $filename
n=`expr $n \* 2`
nref=`expr $nref \* 2`
iter=`expr $iter / $iterdivide`
done