@@ -68,22 +68,22 @@ jobs:
68
68
SIMD : ' AVX2'
69
69
STATIC : 1
70
70
MPI : 0
71
- BUILD_TYPE : RelWithDebInfo
71
+ BUILD_TYPE : Release
72
72
sse41 :
73
73
SIMD : ' SSE4_1'
74
74
STATIC : 1
75
75
MPI : 0
76
- BUILD_TYPE : RelWithDebInfo
76
+ BUILD_TYPE : Release
77
77
sse2 :
78
78
SIMD : ' SSE2'
79
79
STATIC : 1
80
80
MPI : 0
81
- BUILD_TYPE : RelWithDebInfo
81
+ BUILD_TYPE : Release
82
82
avx2_mpi :
83
83
SIMD : ' AVX2'
84
84
STATIC : 0
85
85
MPI : 1
86
- BUILD_TYPE : RelWithDebInfo
86
+ BUILD_TYPE : Release
87
87
asan :
88
88
SIMD : ' AVX2'
89
89
STATIC : 0
94
94
- checkout : self
95
95
submodules : true
96
96
- script : |
97
- #sudo add-apt-repository ppa:ubuntu-toolchain-r/test
98
- #sudo apt-get update
99
- sudo apt-get install -y g++-10
100
- condition: eq(variables['BUILD_TYPE'], 'ASanOpt')
97
+ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
98
+ sudo apt-get update
99
+ sudo apt-get install -y gcc-11 g++-11 libgcc-11-dev build-essential
101
100
displayName: Install newer G++
102
101
- script : |
103
102
sudo apt-get update
@@ -106,28 +105,21 @@ jobs:
106
105
condition: eq(variables['MPI'], 1)
107
106
- script : |
108
107
mkdir build && cd build
109
- if [ "${BUILD_TYPE}" = "ASanOpt" ]; then
110
- export CC=gcc-10 ; export CXX=g++-10
111
- fi
108
+ export CC=gcc-11 ; export CXX=g++-11
112
109
if [ "${STATIC}" -eq "1" ]; then
113
- cmake -DHAVE_SANITIZER=1 -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DHAVE_TESTS=1 \
114
- -DBUILD_SHARED_LIBS=OFF \
115
- -DCMAKE_EXE_LINKER_FLAGS="-static -static-libgcc \
116
- -static-libstdc++" -DCMAKE_FIND_LIBRARY_SUFFIXES=".a" \
117
- -DENABLE_WERROR=1 -DHAVE_${SIMD}=1 -DHAVE_MPI=${MPI} ..
110
+ LIBGOMP=/usr/lib/gcc/x86_64-linux-gnu/11
111
+ cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DFORCE_STATIC_DEPS=1 -DHAVE_TESTS=1 \
112
+ -DOpenMP_C_FLAGS="-fopenmp -I${LIBGOMP}" -DOpenMP_C_LIB_NAMES=gomp -DOpenMP_CXX_FLAGS="-fopenmp -I${LIBGOMP}" -DOpenMP_CXX_LIB_NAMES=gomp -DOpenMP_gomp_LIBRARY=${LIBGOMP}/libgomp.a \
113
+ -DENABLE_WERROR=1 -DHAVE_${SIMD}=1 -DHAVE_MPI=${MPI} ..
118
114
else
119
- cmake -DHAVE_SANITIZER=1 -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DHAVE_TESTS=1 \
120
- -DENABLE_WERROR=1 -DHAVE_${SIMD}=1 -DHAVE_MPI=${MPI} ..
115
+ cmake -DHAVE_SANITIZER=1 -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DHAVE_TESTS=1 \
116
+ -DENABLE_WERROR=1 -DHAVE_${SIMD}=1 -DHAVE_MPI=${MPI} ..
121
117
fi
122
118
123
- make -j $(nproc --all)
119
+ make -j $(nproc --all) VERBOSE=1
124
120
displayName: Build MMseqs2
125
121
- script : |
126
122
export TTY=0
127
- if [ "${BUILD_TYPE}" = "ASan" ]; then
128
- echo "leak:libgomp1" > ${BUILD_SOURCESDIRECTORY}/ASan.supp
129
- export ASAN_OPTIONS=suppressions=${BUILD_SOURCESDIRECTORY}/ASan.supp
130
- fi
131
123
${BUILD_SOURCESDIRECTORY}/util/regression/run_regression.sh ${BUILD_SOURCESDIRECTORY}/build/src/mmseqs ${BUILD_SOURCESDIRECTORY}/regression
132
124
displayName: Run Regression Suite
133
125
condition: eq(variables['regression'], 1)
@@ -149,7 +141,7 @@ jobs:
149
141
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.1-1_all.deb
150
142
sudo dpkg -i cuda-keyring_1.1-1_all.deb
151
143
sudo apt-get update
152
- sudo apt-get install -y gcc-10 g++-10 cuda-nvcc-12-6 build-essential libgcc-10-dev ninja-build
144
+ sudo apt-get install -y gcc-10 g++-10 cuda-nvcc-12-6 cuda-cudart-dev-12-6 build-essential libgcc-10-dev ninja-build
153
145
sudo apt-get purge -y cmake
154
146
wget https://github.com/Kitware/CMake/releases/download/v3.31.0/cmake-3.31.0-linux-x86_64.sh
155
147
chmod +x cmake-3.31.0-linux-x86_64.sh
@@ -158,16 +150,15 @@ jobs:
158
150
- script : |
159
151
mkdir build && cd build
160
152
export CC=gcc-10 ; export CXX=g++-10; export CUDAHOSTCXX=$CXX; export CUDACXX=/usr/local/cuda/bin/nvcc;
153
+ LIBGOMP=/usr/lib/gcc/x86_64-linux-gnu/10;
161
154
/usr/local/bin/cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DHAVE_TESTS=1 -DENABLE_WERROR=1 -DHAVE_AVX2=1 \
162
- -DPREFER_STATIC=1 -DCMAKE_LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/10 -DBUILD_SHARED_LIBS=OFF \
163
- -DCMAKE_EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++" \
164
- -DENABLE_CUDA=1 -DCMAKE_CUDA_ARCHITECTURES="75-real;80-real;86-real;89-real;90" ..
155
+ -DFORCE_STATIC_DEPS=1 -DENABLE_CUDA=1 -DCMAKE_CUDA_ARCHITECTURES="75-real;80-real;86-real;89-real;90" ..
165
156
cmake --build . -j$(nproc --all)
166
157
# fail if GLIBC_PRIVATE or too new GLIBC is present
167
- if readelf -Ws mmseqs | grep -q GLIBC_PRIVATE; then
158
+ if readelf -Ws src/ mmseqs | grep -q GLIBC_PRIVATE; then
168
159
exit 1
169
160
fi
170
- LIBC_V=$(readelf -V mmseqs | awk '$3 ~ /^GLIBC_/ { print $3 }' | sort -V | tail -n1)
161
+ LIBC_V=$(readelf -V src/ mmseqs | awk '$3 ~ /^GLIBC_/ { print $3 }' | sort -V | tail -n1)
171
162
if [[ "$LIBC_V" > "GLIBC_2.29" ]]; then
172
163
exit 1
173
164
fi
@@ -184,10 +175,10 @@ jobs:
184
175
timeoutInMinutes : 120
185
176
strategy :
186
177
matrix :
187
- power8 :
188
- SIMD : POWER8
189
- ARCH : ppc64el
190
- CPREF : powerpc64le
178
+ # power8:
179
+ # SIMD: POWER8
180
+ # ARCH: ppc64el
181
+ # CPREF: powerpc64le
191
182
power9 :
192
183
SIMD : POWER9
193
184
ARCH : ppc64el
@@ -215,11 +206,14 @@ jobs:
215
206
displayName: Install Toolchain
216
207
- script : |
217
208
mkdir build && cd build
209
+ if [ "${ARCH}" = "ppc64el" ]; then
210
+ LIBGOMP=/usr/lib/gcc-cross/powerpc64-linux-gnu/9;
211
+ else
212
+ LIBGOMP=/usr/lib/gcc-cross/${CPREF}-linux-gnu/9;
213
+ fi
218
214
CC=${CPREF}-linux-gnu-gcc CXX=${CPREF}-linux-gnu-g++ \
219
- cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DHAVE_TESTS=1 \
220
- -DBUILD_SHARED_LIBS=OFF \
221
- -DCMAKE_EXE_LINKER_FLAGS="-static -static-libgcc \
222
- -static-libstdc++" -DCMAKE_FIND_LIBRARY_SUFFIXES=".a" \
215
+ cmake -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DHAVE_TESTS=1 -DFORCE_STATIC_DEPS=1 \
216
+ -DOpenMP_C_FLAGS="-fopenmp -I${LIBGOMP}" -DOpenMP_C_LIB_NAMES=gomp -DOpenMP_CXX_FLAGS="-fopenmp -I${LIBGOMP}" -DOpenMP_CXX_LIB_NAMES=gomp -DOpenMP_gomp_LIBRARY=${LIBGOMP}/libgomp.a \
223
217
-DENABLE_WERROR=1 -DHAVE_${SIMD}=1 ..
224
218
make -j $(nproc --all)
225
219
displayName: Build MMseqs2
@@ -382,18 +376,18 @@ jobs:
382
376
archiveFile : $(Build.SourcesDirectory)/mmseqs-linux-ppc64le-power9.tar.gz
383
377
includeRootFolder : true
384
378
archiveType : tar
385
- - task : DownloadPipelineArtifact@1
386
- inputs :
387
- artifactName : mmseqs-linux-POWER8
388
- targetPath : $(Build.SourcesDirectory)/mmseqs/bin
389
- - script :
390
- chmod +x "${BUILD_SOURCESDIRECTORY}/mmseqs/bin/mmseqs"
391
- - task : ArchiveFiles@2
392
- inputs :
393
- rootFolderOrFile : $(Build.SourcesDirectory)/mmseqs
394
- archiveFile : $(Build.SourcesDirectory)/mmseqs-linux-ppc64le-power8.tar.gz
395
- includeRootFolder : true
396
- archiveType : tar
379
+ # - task: DownloadPipelineArtifact@1
380
+ # inputs:
381
+ # artifactName: mmseqs-linux-POWER8
382
+ # targetPath: $(Build.SourcesDirectory)/mmseqs/bin
383
+ # - script:
384
+ # chmod +x "${BUILD_SOURCESDIRECTORY}/mmseqs/bin/mmseqs"
385
+ # - task: ArchiveFiles@2
386
+ # inputs:
387
+ # rootFolderOrFile: $(Build.SourcesDirectory)/mmseqs
388
+ # archiveFile: $(Build.SourcesDirectory)/mmseqs-linux-ppc64le-power8.tar.gz
389
+ # includeRootFolder: true
390
+ # archiveType: tar
397
391
- task : DownloadPipelineArtifact@1
398
392
inputs :
399
393
artifactName : mmseqs-linux-ARM8
@@ -431,6 +425,8 @@ jobs:
431
425
ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
432
426
cd "${BUILD_SOURCESDIRECTORY}"
433
427
cp mmseqs/userguide.pdf userguide.pdf
428
+ # disabled: mmseqs-linux-ppc64le-power8.tar.gz
429
+
434
430
ssh-keygen -Y sign -f ~/.ssh/id_rsa -n file \
435
431
userguide.pdf \
436
432
mmseqs-osx-universal.tar.gz \
@@ -439,7 +435,6 @@ jobs:
439
435
mmseqs-linux-avx2.tar.gz \
440
436
mmseqs-linux-gpu.tar.gz \
441
437
mmseqs-linux-arm64.tar.gz \
442
- mmseqs-linux-ppc64le-power8.tar.gz \
443
438
mmseqs-linux-ppc64le-power9.tar.gz \
444
439
mmseqs-win64.zip
445
440
curl --retry 5 --retry-all-errors -X POST \
@@ -450,7 +445,6 @@ jobs:
450
445
451
446
452
447
453
-
454
448
455
449
456
450
-F identifier="mmseqs" -F directory="${BUILD_SOURCEVERSION}" \
0 commit comments