forked from pghysels/STRUMPACK
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
136 lines (118 loc) · 4.96 KB
/
.travis.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
language: cpp
compiler: gcc
os: linux
sudo: required
branches:
only:
- master
notifications:
slack:
rooms:
- ecpsparsesolvers:nBWC0jcAd7B1j9whHUYcaVJO
on_failure: always
on_success: change
env:
matrix:
- TEST_NUMBER=1 FILE="test_HSS_seq"
- TEST_NUMBER=2 FILE="test_HSS_mpi"
- TEST_NUMBER=3 FILE="test_sparse_seq"
- TEST_NUMBER=4 FILE="test_sparse_mpi"
git:
depth: 1
before_install:
- export BLUE="\033[34;1m"
- mkdir installDir
- printf "${BLUE} GC; Installing gcc-6 via apt\n"
- sudo apt-get update
- sudo apt-get install build-essential software-properties-common -y
- sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
- sudo apt-get update
- sudo apt-get install gcc-6 g++-6 -y
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6
- export CXX="g++-6"
- export CC="gcc-6"
- printf "${BLUE} GC; Done installing gcc-6 via apt\n"
- printf "${BLUE} GC; Installing gfortran via apt\n"
- sudo apt-get install gfortran-6 -y
- sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-6 60
- printf "${BLUE} GC; Done installing gfortran via apt\n"
- printf "${BLUE} GC; Installing OpenMPI-1 via apt\n"
- sudo apt-get update
- sudo apt-get install openmpi-bin libopenmpi-dev
- printf "${BLUE} GC; Done installing OpenMPI-1 via apt\n"
install:
- export BLUE="\033[34;1m"
- printf "${BLUE} GC; Installing BLAS and LAPACK from apt\n"
- sudo apt-get install libblas-dev liblapack-dev
- export BLAS_LIB=/usr/lib/libblas/libblas.so
- export LAPACK_LIB=/usr/lib/lapack/liblapack.so
- printf $BLAS_LIB
- printf "${BLUE} GC; Done installing BLAS and LAPACK from apt\n"
- printf "${BLUE} GC; Installing ScaLAPACK from source\n"
- cd $TRAVIS_BUILD_DIR/installDir
- wget http://www.netlib.org/scalapack/scalapack-2.0.2.tgz
- tar -xf scalapack-2.0.2.tgz
- cd scalapack-2.0.2
- cp SLmake.inc.example SLmake.inc
- sed -i "s/BLASLIB/#BLASLIB/" SLmake.inc
- sed -i "s/LAPACKLIB/#LAPACKLIB/" SLmake.inc
- sed -i "s/LIBS/#LIBS/" SLmake.inc
- printf "BLASLIB=$BLAS_LIB\n" >> SLmake.inc
- printf "LAPACKLIB=$LAPACK_LIB\n" >> SLmake.inc
- printf "LIBS=$BLAS_LIB $LAPACK_LIB\n" >> SLmake.inc
- sed -i "s/SCA#LAPACKLIB/#SCA#LAPACKLIB/" SLmake.inc
- printf "SCALAPACKLIB=libscalapack.a\n" >> SLmake.inc
- make lib > tempMakeOutput.txt 2>&1
- export SCALAPACK_LIB=$TRAVIS_BUILD_DIR/installDir/scalapack-2.0.2/libscalapack.a
- printf "${BLUE} GC; Done installing ScaLAPACK from source\n"
- printf "${BLUE} GC; Installing Scotch-6.0 from source\n"
- cd $TRAVIS_BUILD_DIR/installDir
- wget --no-check-certificate https://gforge.inria.fr/frs/download.php/file/34618/scotch_6.0.4.tar.gz
- tar -xf scotch_6.0.4.tar.gz
- cd ./scotch_6.0.4
- mkdir build
- cd ./src
- cp ./Make.inc/Makefile.inc.x86-64_pc_linux2 Makefile.inc
- sed -i "s/-DSCOTCH_PTHREAD//" Makefile.inc
- sed -i "s/CCD/#CCD/" Makefile.inc
- printf "CCD = mpicc\n" >> Makefile.inc
- cat Makefile.inc
- make ptscotch > make_scotch.log 2>&1
- make prefix=../build install > make_scotch_install.log 2>&1
- printf "${BLUE} GC; DONE installing Scotch-6.0 from source\n"
- printf "${BLUE} GC; Installing ParMetis-4.0 from source\n"
- cd $TRAVIS_BUILD_DIR/installDir
- wget http://glaros.dtc.umn.edu/gkhome/fetch/sw/parmetis/parmetis-4.0.3.tar.gz
- tar -xf parmetis-4.0.3.tar.gz
- cd parmetis-4.0.3/
- mkdir install
- make config shared=1 cc=mpicc cxx=mpic++ prefix=$PWD/install
- make install > make_parmetis_install.log 2>&1
- printf "${BLUE} GC; Done installing ParMetis-4.0 from source\n"
- printf "${BLUE} GC; Installing STRUMPACK from source\n"
- cd $TRAVIS_BUILD_DIR
- mkdir build
- cd build
- |
cmake .. -DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=. \
-DCMAKE_C_COMPILER=mpicc \
-DCMAKE_CXX_COMPILER=mpic++ \
-DCMAKE_Fortran_COMPILER=mpif90 \
-DBLAS_LIBRARIES=$BLAS_LIB \
-DLAPACK_LIBRARIES=$LAPACK_LIB \
-DSCALAPACK_LIBRARIES=$SCALAPACK_LIB \
-DSTRUMPACK_COUNT_FLOPS=ON \
-DSTRUMPACK_USE_PARMETIS=ON \
-DSTRUMPACK_USE_SCOTCH=ON \
-DMETIS_INCLUDES=$TRAVIS_BUILD_DIR/installDir/parmetis-4.0.3/metis/include \
-DMETIS_LIBRARIES=$TRAVIS_BUILD_DIR/installDir/parmetis-4.0.3/install/lib/libparmetis.so \
-DPARMETIS_INCLUDES=$TRAVIS_BUILD_DIR/installDir/parmetis-4.0.3/install/include \
-DPARMETIS_LIBRARIES=$TRAVIS_BUILD_DIR/installDir/parmetis-4.0.3/install/lib/libparmetis.so \
-DSCOTCH_INCLUDES=$TRAVIS_BUILD_DIR/installDir/scotch_6.0.4/build/include \
-DSCOTCH_LIBRARIES="$TRAVIS_BUILD_DIR/installDir/scotch_6.0.4/build/lib/libscotch.a;$TRAVIS_BUILD_DIR/installDir/scotch_6.0.4/build/lib/libscotcherr.a;$TRAVIS_BUILD_DIR/installDir/scotch_6.0.4/build/lib/libptscotch.a;$TRAVIS_BUILD_DIR/installDir/scotch_6.0.4/build/lib/libptscotcherr.a"
- make install VERBOSE=1
- printf "${BLUE} GC; Done installing STRUMPACK from source\n"
script:
- cd $TRAVIS_BUILD_DIR
- ./.travis_tests.sh