forked from nwchemgit/nwchem
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.gitlab-ci.yml
180 lines (163 loc) · 4.45 KB
/
.gitlab-ci.yml
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
stages:
- build
- test
variables:
USE_MPI: Y
USE_NOIO: 1
NWCHEM_MODULES: "all python"
OMP_NUM_THREADS: 1
USE_64TO32: Y
NWCHEM_LONG_PATHS: Y
GIT_CLEAN_FLAGS: -ffdx -e bin
GIT_DEPTH: 32
.linuxrhel6_template: &beforescript_linuxrhel6
before_script:
- module purge
- export LD_LIBRARY_PATH=/usr/lib/mpich/lib
- export PATH=/usr/lib/mpich/bin:/bin:/usr/bin:.
- export NWCHEM_TARGET=LINUX
.compile_template: &compile_step
script:
- if [ "$(lsb_release -i |cut -f 2)" == "Ubuntu" ] && [ "$(lsb_release -r|cut -c10-11)" == "16" ]; then SCALAPACK_LIB="-lscalapack-openmpi -lblacsCinit-openmpi -lblacs-openmpi -lopenblas"; fi
- env |grep CI_
- printenv PATH
- printenv LD_LIBRARY_PATH || true
- env|grep MPI || true
- which mpif90
- env|egrep BLAS
- env|egrep SCALAP || true
- env|egrep -i mkl || true
- cd $CI_PROJECT_DIR/src
- rm -rf tools/ga-* ||true
- make nwchem_config
- if [ "$NWCHEM_TARGET" != "LINUX" ]; then make 64_to_32; fi
- make -j3
- ../contrib/getmem.nwchem
except:
changes:
- ".travis.yml"
- "travis/*"
.test_template: &test_step
variables:
GIT_CLEAN_FLAGS: -ffdx -e bin -e build -e install
script:
- if [ "$FC" == "ifort" ]; then source /opt/intel/compilers_and_libraries_2018/linux/bin/compilervars.sh intel64; fi
- env|egrep -i mkl || true
- env|egrep LD_LIBR || true
- cd $CI_PROJECT_DIR/QA
- NNPROCS=1
- if [ "$(uname -s)" == "Darwin" ]; then NNPROCS=2; fi
- if [ "$(uname -s)" == "Linux" ]; then NNPROCS=4; fi
- ./doqmtests.mpi $NNPROCS fast
except:
changes:
- ".travis.yml"
- "travis/*"
.intel_template: &intel_sourcing
before_script:
- source /opt/intel/compilers_and_libraries_2018/linux/bin/compilervars.sh intel64
.rhel6_template: &rhel6_sourcing
before_script:
- export LD_LIBRARY_PATH=/usr/lib64/mpich/lib
linux64_ubuntu:build_gcc:
stage: build
<<: *compile_step
variables:
BLAS_LIB: "-lopenblas"
LAPACK_LIB: "-lopenblas"
BLAS_SIZE: 4
SCALAPACK_LIB: "-lscalapack-openmpi -lopenblas"
SCALAPACK_SIZE: 4
ARMCI_NETWORK: "SOCKETS"
tags:
- ubuntu_xenial
linux64_ubuntu:build_intel:
stage: build
<<: *intel_sourcing
<<: *compile_step
variables:
FC: ifort
BLAS_SIZE: 8
SCALAPACK_SIZE: 8
BLAS_LIB: " -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl"
LAPACK_LIB: " -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl"
SCALAPACK_LIB: " -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm -ldl"
ARMCI_NETWORK: "MPI-PR"
USE_FPICF: "Y"
tags:
- ubuntu_bionic
linux_rhel6:build_gcc:
stage: build
<<: *beforescript_linuxrhel6
<<: *compile_step
variables:
BLAS_SIZE: 4
SCALAPACK_SIZE: 4
BLAS_LIB: "-L/usr/lib -lopenblas"
LAPACK_LIB: "-L/usr/lib -lopenblas"
SCALAPACK_LIB: "-L/usr/lib/mpich/lib -lscalapack"
PATH: "/usr/lib/mpich/bin/:/usr/bin:/bin:."
LD_LIBRARY_PATH: "/usr/lib/mpich/lib"
NWCHEM_TARGET: "LINUX"
ARMCI_NETWORK: "MPI-MT"
tags:
- rhel_6
linux_rhel6:run_gcc:
stage: test
needs: ["linux_rhel6:build_gcc"]
<<: *beforescript_linuxrhel6
<<: *test_step
tags:
- rhel_6
linux64_rhel6:build_gcc:
stage: build
<<: *rhel6_sourcing
<<: *compile_step
variables:
BLAS_SIZE: 4
SCALAPACK_SIZE: 4
BLAS_LIB: " -lopenblas"
LAPACK_LIB: " -lopenblas"
SCALAPACK_LIB: "-L/usr/lib64/mpich/lib -lscalapack"
PATH: "/usr/lib64/mpich/bin/:/usr/bin:/bin:."
ARMCI_NETWORK: "MPI-MT"
tags:
- rhel_6
macos:build_gcc:
stage: build
<<: *compile_step
variables:
BLASOPT: "-L/usr/local/opt/openblas/lib -lopenblas"
LAPACK_LIB: "-L/usr/local/opt/openblas/lib -lopenblas"
BLAS_SIZE: 4
SCALAPACK_LIB: "-L/usr/local/opt/scalapack/lib/ -lscalapack -L/usr/local/opt/openblas/lib -lopenblas"
SCALAPACK_SIZE: 4
ARMCI_NETWORK: "SOCKETS"
tags:
- macos_10.13
linux64_ubuntu:run_gcc:
stage: test
needs: ["linux64_ubuntu:build_gcc"]
<<: *test_step
tags:
- ubuntu_xenial
linux64_ubuntu:run_intel:
stage: test
needs: ["linux64_ubuntu:build_intel"]
<<: *intel_sourcing
<<: *test_step
tags:
- ubuntu_bionic
linux64_rhel6:run_gcc:
stage: test
needs: ["linux64_rhel6:build_gcc"]
<<: *rhel6_sourcing
<<: *test_step
tags:
- rhel_6
macos:run_gcc:
stage: test
needs: ["macos:build_gcc"]
<<: *test_step
tags:
- macos_10.13