ILP64 : need to use docker. mkl can't be installed from bionic.

This commit is contained in:
Franck HOUSSEN
2020-06-01 22:11:39 +02:00
parent fa8a1634a0
commit aa20bc5b8e
+48 -30
View File
@@ -159,7 +159,7 @@ jobs:
cd $TRAVIS_BUILD_DIR && mkdir -p build && cd build && \
cmake -DEXAMPLES=ON -DICB=ON -DMPI=ON -DPYTHON3=ON -DBOOST_PYTHON_LIBSUFFIX='36' .. && \
export VERBOSE=1 && make all && make test
# xenial <=> coverage: "recent" systems with ICB
# coverage: "recent" systems with ICB
- stage: coverage
dist: xenial
script: |
@@ -182,37 +182,55 @@ jobs:
head -n 50 coveralls.log && tail -n 50 coveralls.log \
&& \
head -n 50 coveralls.json && tail -n 50 coveralls.json
# bionic <=> interface64: "recent" systems with ICB + MKL + ILP64
# interface64: "recent" systems with ICB + MKL + ILP64 (need debian/testing to get MKL-ILP64)
# note: when you PR, docker-cp provides, in the container, the branch associated with the PR (not master where there's nothing new)
# 1. docker create --name mobydick IMAGE CMD <=> create a container (= instance of image) but container is NOT yet started
# 2. docker cp -a ${TRAVIS_BUILD_DIR} mobydick:/tmp <=> copy git repository (CI worker, checkout-ed on PR branch) into the container
# note: docker-cp works only if copy from/to containers (not images)
# 3. docker start -a mobydick <=> start to run the container (initialized with docker-cp)
- stage: interface64
dist: bionic
before_install:
- export DEBIAN_FRONTEND=noninteractive
- sudo apt-get -y update
- sudo apt-get -y install dialog
- echo yes | sudo apt-get -y install intel-mkl libmkl-dev
dist: xenial
script: |
./bootstrap && \
export FFLAGS='-DMKL_ILP64 -I/usr/include/mkl' && \
export FCFLAGS='-DMKL_ILP64 -I/usr/include/mkl' && \
export LIBS='-Wl,--no-as-needed -L/usr/lib/x86_64-linux-gnu -lmkl_sequential -lmkl_core -lpthread -lm -ldl' && \
export INTERFACE64=1 && \
./configure --with-blas=mkl_gf_ilp64 --with-lapack=mkl_gf_ilp64 --enable-mpi --enable-icb-exmm && \
export VERBOSE=1 && \
make all && \
make check && \
- stage: interface64
dist: bionic
before_install:
- export DEBIAN_FRONTEND=noninteractive
- sudo apt-get -y update
- sudo apt-get -y install dialog
- echo yes | sudo apt-get -y install intel-mkl libmkl-dev
script: |
mkdir -p build && cd build && \
BLA_VENDOR='Intel10_64ilp_seq' cmake -DINTERFACE64=ON -DEXAMPLES=ON -DICBEXMM=ON -DMPI=ON .. && \
export VERBOSE=1 && \
make all && \
make check && \
sudo docker pull debian \
&& \
sudo docker create --name mobydick debian /bin/bash -c \
"cat /etc/os-release && \
cat /etc/apt/sources.list && \
sed -e 's/stretch/testing/' -i /etc/apt/sources.list && \
sed -e 's/main/main non-free contrib/' -i /etc/apt/sources.list && \
sed -e '/security.debian.org/d' -i /etc/apt/sources.list && \
cat /etc/apt/sources.list && \
export DEBIAN_FRONTEND=noninteractive && \
apt-get -y update && \
apt-get -y --allow-unauthenticated -o Dpkg::Options::=--force-confdef upgrade && \
apt-get -y --allow-unauthenticated -o Dpkg::Options::=--force-confdef dist-upgrade && \
cat /etc/os-release && \
apt-get -y install dialog && \
echo yes | apt-get -y install intel-mkl libmkl-dev && \
apt-get -y install build-essential && \
apt-get -y install git gfortran gcc g++ openmpi-bin libopenmpi-dev automake autoconf libtool pkg-config && \
apt-get -y install libeigen3-dev && \
cd /tmp && \
cd arpack-ng && \
git status && \
git log -2 && \
sed -e 's/LOG_FLAGS = /LOG_FLAGS = --allow-run-as-root --oversubscribe /' -i PARPACK/EXAMPLES/MPI/Makefile.am && \
sed -e 's/LOG_FLAGS = /LOG_FLAGS = --allow-run-as-root --oversubscribe /' -i PARPACK/TESTS/MPI/Makefile.am && \
./bootstrap && \
export FFLAGS='-DMKL_ILP64 -I/usr/include/mkl' && \
export FCFLAGS='-DMKL_ILP64 -I/usr/include/mkl' && \
export LIBS='-Wl,--no-as-needed -L/usr/lib/x86_64-linux-gnu -lmkl_sequential -lmkl_core -lpthread -lm -ldl' && \
export INTERFACE64=1 && \
./configure --with-blas=mkl_gf_ilp64 --with-lapack=mkl_gf_ilp64 --enable-mpi --enable-icb-exmm \
--disable-dependency-tracking && \
export VERBOSE=1 && \
make all && \
make check && \
find . -name test-suite.log | xargs tail -n 300" \
&& \
sudo docker cp -a ${TRAVIS_BUILD_DIR} mobydick:/tmp \
&& \
sudo docker start -a mobydick
after_failure: