-
Notifications
You must be signed in to change notification settings - Fork 1
/
matrox_comet.sh
165 lines (131 loc) · 3.61 KB
/
matrox_comet.sh
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
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
#!/bin/bash
#SBATCH -A mit162
#SBATCH --job-name="PPoPP_artifact"
#SBATCH --output="ppopp.%j.%N.out"
#SBATCH --partition=compute
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=24
#SBATCH --mem=120G
#SBATCH --export=ALL
#SBATCH -t 12:00:00
module load cmake
cometORknl=1 # Comet is 1, KNL is 2
if [ "$#" -eq 1 ]; then
cometORknl=$1
fi
if [ $cometORknl -eq 1 ]; then
export MODULEPATH=/share/apps/compute/modulefiles:$MODULEPATH
module load intel/2018.1.163
module load gnu/6.2.0
module load python
module load scipy/3.6
export MKLROOT=/share/apps/compute/intel/intelmpi2018/compilers_and_libraries/linux/mkl/
export CMAKE_CXX_COMPILER=/share/apps/compute/intel/intelmpi2018/compilers_and_libraries/linux/bin/intel64/icpc
#export OMP=/share/apps/compute/intel/intelmpi2018/compilers_and_libraries/linux/lib/intel64/
fi
MatRox_HOME=$(pwd)
MatRox_build=${MatRox_HOME}/build/sympiler/
MatRox_Lib=${MatRox_HOME}/libTest/
MatRox_Fig=${MatRox_HOME}/Figures/
### Installing MatRox
mkdir build
cd build
cmake ..
cd sympiler
make
cp ../../scripts/* .
cp ../../scripts/* ${MatRox_Lib}/
# # Accuracy and Performance tests
# sbatch testMatRox 0
# sbatch testMatRox 0.03
### Figure 4: multiple right-hand-sides ###
##run MatRox
cd ${MatRox_build}
# HSS MatROx
bash nrhssh 0.0
cp hssnrhs.csv ../../Figures/Fig4-nrhs/
## H2-b MatRox
bash nrhssh 0.03
cp h2nrhs.csv ../../Figures/Fig4-nrhs/
## LibTest
cd ${MatRox_Lib}
bash GOnrhsh 0.0
cp gohssnrhs.csv ../Figures/Fig4-nrhs/
## H2b (GOFMM)
bash GOnrhsh 0.03
cp goh2nrhs.csv ../Figures/Fig4-nrhs/
##HSS (STRUMPACK)
bash stnrhsh
cp stnrhs.csv ../Figures/Fig4-nrhs/
## Figure 4-HSS
cd ${MatRox_Fig}/Fig4-nrhs/
python3 drawhssnrhs.py --m hssnrhs.csv --g gohssnrhs.csv --s stnrhs.csv
## Figure 4-H2b
python3 drawh2bnrhs.py --m h2nrhs.csv --g goh2nrhs.csv
##############################################
### Figure 5: optimization breakdown ###
cd ${MatRox_build}
## HSS MatRox
bash HSSFlops
cp hssflops.csv ../../Figures/Fig5-flops/
## H2-b MatRox
bash H2Flops
cp h2flops.csv ../../Figures/Fig5-flops/
## LibTest
cd ${MatRox_Lib}
## HSS (GOFMM)
bash testGOFlops 0.0
cp gohssflops.csv ../Figures/Fig5-flops/
## H2-b (GOFMM)
bash testGOFlops 0.03
cp goh2flops.csv ../Figures/Fig5-flops/
## HSS (STRUMPACK)
bash testSTFlops
cp stflops.csv ../Figures/Fig5-flops/
## Figure 5-HSS
cd ${MatRox_Fig}/Fig5-flops/
python3 drawhssflops.py --m hssflops.csv --g gohssflops.csv --s stflops.csv
## Figure 5-H2b
python3 drawh2bflops.py --m h2flops.csv --g goh2flops.csv
##############################################
###### Figure 7: Scalability #################
cd ${MatRox_build}
## MatRox
bash testScal
cp scal.csv ../../Figures/Fig7-scal/
## LibTest
cd ${MatRox_Lib}
## GOFMM
bash testGOScal
cp goscal.csv ../Figures/Fig7-scal/
## STRUMPACK
bash testSTScal
cp stscal.csv ../Figures/Fig7-scal/
## SMASH
bash testSMAScal
cp smascal.csv ../Figures/Fig7-scal/
cd ${MatRox_Fig}/Fig7-scal/
## Figure 7-scalability on comet
python3 drawscal.py --m scal.csv --g goscal.csv --s stscal.csv --sa smascal.csv
##############################################
###### Figure 9: Accuracy #################
cd ${MatRox_build}
bash accsh 0.03
cp acc.csv ${MatRox_Fig}/Fig9-acc/
## Figure 9 accuracy
cd ${MatRox_Fig}/Fig9-acc/
python3 drawacc.py acc.csv
##############################################
###### Figure 10: Multiple runs #################
cd ${MatRox_build}
## H2-b
bash nrunsh 0.03
cp nrun.csv ../../Figures/Fig10-nrun/
## LibTest
cd ${MatRox_Lib}
bash GOnrunsh 0.03
cp gonrun.csv ../Figures/Fig10-nrun/
## Figure 10-multiple runs
cd ${MatRox_Fig}/Fig10-nrun/
python3 drawnrun.py --m nrun.csv --g gonrun.csv
##############################################