-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathHPhiconfig.sh
executable file
·189 lines (181 loc) · 5.52 KB
/
HPhiconfig.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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
#!/bin/bash
echo ""
echo "#################### NOTICE ########################"
echo " HPhiconfig.sh will be removed in the future release,"
echo " and only CMake will be supported."
echo "######################################################"
echo ""
echo -n " Really continue ? yes/no [no] : "
read yesno
if [ -z ${yesno} ] || [ ! ${yesno} = "yes" ]; then
exit
fi
echo -n " Really, really continue ? yes/no [no] : "
read yesno
if [ -z ${yesno} ] || [ ! ${yesno} = "yes" ]; then
exit
fi
echo -n " Quit ? yes/no [yes] : "
read yesno
if [ -z ${yesno} ] || [ ! ${yesno} = "no" ]; then
exit
fi
if [ -z ${1} ] || [ ${1} = "help" ]; then
echo ""
echo "Usage:"
echo "./HPhiconfig.sh system_name"
echo " system_name should be chosen from below:"
echo " sekirei : ISSP system-B (Intel + SGIMPT)"
echo " fujitsu : ISSP system-C (FX10)"
echo " sr : SR16000"
echo " intel : Intel compiler + Linux PC"
echo " intel-openmpi : Intel compiler + OpenMPI"
echo " intel-mpich : Intel compiler + MPICH2"
echo " intel-intelmpi : Intel compiler + IntelMPI"
echo " gcc : GCC"
echo " gcc-openmpi : GCC + OpenMPI"
echo " gcc-mpich : GCC + MPICH2"
echo " gcc-mac : GCC + Mac"
echo ""
echo "Then src/make.sys is generated."
echo " Variables in src/make.sys"
echo " CC : C complier"
echo " F90 : fortran compiler"
echo " CFLAGS : C compiler options"
echo " FFLAGS : fortran compiler options"
echo " LIBS : Linker option"
echo ""
else
if [ ${1} = "sekirei" ]; then
cat > src/make.sys <<EOF
CC = mpicc
F90 = mpif90
CFLAGS = -fopenmp -O3 -g -traceback -xHost -ipo -mcmodel=large -shared-intel -D MPI -D HAVE_SSE2
FFLAGS = -fopenmp -O3 -g -traceback -xHost -ipo -mcmodel=large -shared-intel -D MPI -fpp
LIBS = -mkl -lifcore
EOF
elif [ ${1} = "intel-mpich" ]; then
cat > src/make.sys <<EOF
CC = mpicc
F90 = mpif90
CFLAGS = -fopenmp -O3 -g -traceback -xHost -D MPI -D HAVE_SSE2
FFLAGS = -fopenmp -O3 -g -traceback -xHost -D MPI -fpp
LIBS = -mkl -lifcore -lmpifort
EOF
elif [ ${1} = "intel-intelmpi" ]; then
cat > src/make.sys <<EOF
CC = mpiicc
F90 = mpiifort
CFLAGS = -fopenmp -O3 -g -traceback -xHost -D MPI -D HAVE_SSE2
FFLAGS = -fopenmp -O3 -g -traceback -xHost -D MPI -fpp
LIBS = -mkl -lifcore -lmpifort
EOF
elif [ ${1} = "intel-openmpi" ]; then
cat > src/make.sys <<EOF
CC = mpicc
F90 = mpif90
CFLAGS = -fopenmp -O3 -g -traceback -xHost -D MPI -D HAVE_SSE2
FFLAGS = -fopenmp -O3 -g -traceback -xHost -D MPI -fpp
LIBS = -mkl -lifcore -lmpi_f90 -lmpi_f77
EOF
elif [ ${1} = "intel" ]; then
cat > src/make.sys <<EOF
CC = icc
F90 = ifort
CFLAGS = -fopenmp -O3 -g -traceback -xHost -D HAVE_SSE2
FFLAGS = -fopenmp -O3 -g -traceback -xHost -fpp
LIBS = -mkl -lifcore
EOF
elif [ ${1} = "gcc-openmpi" ]; then
cat > src/make.sys <<EOF
CC = mpicc
F90 = mpif90
CFLAGS = -fopenmp -O3 -g -D MPI -D HAVE_SSE2
FFLAGS = -fopenmp -O3 -g -D MPI -cpp
LIBS = -fopenmp -lm -lgfortran -llapack -lblas -lmpi_f90 -lmpi_f77
EOF
elif [ ${1} = "gcc-mpich" ]; then
cat > src/make.sys <<EOF
CC = mpicc
F90 = mpif90
CFLAGS = -fopenmp -O3 -g -D MPI -D HAVE_SSE2
FFLAGS = -fopenmp -O3 -g -D MPI -cpp
LIBS = -fopenmp -lm -lgfortran -llapack -lblas -lmpifort
EOF
elif [ ${1} = "gcc" ]; then
cat > src/make.sys <<EOF
CC = gcc
F90 = gfortran
CFLAGS = -fopenmp -O3 -g -D HAVE_SSE2
FFLAGS = -fopenmp -O3 -g -cpp
LIBS = -fopenmp -lm -lgfortran -llapack -lblas
EOF
elif [ ${1} = "gcc-mac" ]; then
cat > src/make.sys <<EOF
CC = gcc
F90 = gfortran
CFLAGS = -fopenmp -O3 -g -D_OSX -D HAVE_SSE2
FFLAGS = -fopenmp -O3 -g -cpp -D NO_ZDOTC
LIBS = -fopenmp -lm -framework Accelerate -lgfortran
EOF
elif [ ${1} = "fujitsu" ]; then
cat > src/make.sys <<EOF
CC = mpifccpx
F90 = mpifrtpx
CFLAGS = -Kfast,openmp,SPARC64IXfx,parallel -g -D MPI -Kmemalias,alias_const -D HAVE_SSE2
FFLAGS = -Kfast,openmp,SPARC64IXfx,parallel -g -D MPI -Cpp -D FUJITSU
LIBS = -Kfast,openmp,parallel -SSL2BLAMP -lmpi_f90 -lmpi_f77
EOF
elif [ ${1} = "sr" ]; then
cat > src/make.sys <<EOF
CC = mpcc_r
F90 = mpxlf2003_r
CFLAGS = -O3 -qsmp=omp -q64 -D SR -D MPI
FFLAGS = -O3 -qsmp=omp -q64 -qsuffix=cpp=f90 -WF,-DMPI -WF,-DSR
LIBS = -qsmp=omp -L /usr/lib -lm -lessl -lxlf90
AROPT = -X64
EOF
else
echo ""
echo "Unsupported system. Please type"
echo "./HPhiconfig.sh help"
echo ""
exit
fi
echo "cat src/make.sys"
cat src/make.sys
echo
echo "HPhiconfig DONE"
echo
cat > makefile <<EOF
help:
@echo ""
@echo "Usage :"
@echo "make <entry>"
@echo ""
@echo "<entry> is chosen from below"
@echo " HPhi : Build simulator HPhi in src/ and tool/"
@echo " userguide : Generate userguid_jp.pdf & userguide_en.pdf in doc/"
@echo " clean : Remove all generated files excepting makefile and doc/"
@echo " veryclean : Remove all generated files including makefile and doc/"
@echo ""
HPhi:
cd src;make -f makefile_src
cd tool;make -f makefile_tool
userguide:
cd doc/jp/;make -f makefile_doc_jp;
cd doc/en/;make -f makefile_doc_en;
cd doc/fourier/ja; make html latexpdfja
cd doc/fourier/en; make html latexpdfja
clean:
cd src; make -f makefile_src clean
cd tool; make -f makefile_tool clean
veryclean:
make clean
cd doc/jp; make -f makefile_doc_jp clean
cd doc/en; make -f makefile_doc_en clean
cd doc/fourier/ja; make clean
cd doc/fourier/en; make clean
rm -f src/make.sys makefile
EOF
fi