forked from ParRes/Kernels
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.travis.yml
206 lines (206 loc) · 5.75 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
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
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
sudo: false
language: cpp
# this is for Python, per http://danielnouri.org/notes/2012/11/23/use-apt-get-to-install-python-dependencies-for-travis-ci/
virtualenv:
system_site_packages: true
os:
- linux
- osx
# Travis will export CC=$compiler
compiler:
- clang
- gcc
matrix:
exclude:
# only test Clang OpenMP on Mac where we can Homebrew it
- os: linux
compiler: clang
env: PRK_TARGET=allopenmp
- os: linux
compiler: clang
env: PRK_TARGET=allmpiomp
# dealing with broken GCC on Mac not worth it here
- os: osx
compiler: gcc
env: PRK_TARGET=allopenmp
- os: osx
compiler: gcc
env: PRK_TARGET=allmpiomp
# Clang UPC requires source build, which probably takes too long
- compiler: clang
env: PRK_TARGET=allupc
UPC_IMPL=gupc
# no binary install yet, source build impossible (too much time+stdout)
- os: osx
env: PRK_TARGET=allupc
UPC_IMPL=gupc
# BUPC on Mac is annoying
- os: osx
env: PRK_TARGET=allupc
UPC_IMPL=bupc
GASNET_CONDUIT=udp
PRK_FLAGS="-Wc,-O3"
- os: osx
env: PRK_TARGET=allupc
UPC_IMPL=bupc
GASNET_CONDUIT=smp
PRK_FLAGS="-Wc,-O3"
# Mac issue with thread_t (see https://github.com/humairakamal/fgmpi/pull/1)
- os: osx
env: PRK_TARGET=allfgmpi
# Mac issue with libtoolize (see https://github.com/regrant/sandia-shmem/pull/87)
- os: osx
env: PRK_TARGET=allshmem
# Revisit this once Grappa is working with Clang
- compiler: gcc
env: PRK_TARGET=allgrappa
# Mac + Chapel + GASNet does not work and I do not care
- os: osx
env: PRK_TARGET=allchapel
CHPL_COMM=gasnet
# UPC GASNet OFI conduit is busted, perhaps due to SSH spawner
- env: PRK_TARGET=allupc
UPC_IMPL=bupc
GASNET_CONDUIT=ofi
PRK_FLAGS="-Wc,-O3"
# UPC over MPICH on Mac hangs - may be async progress issue
- os: osx
env: PRK_TARGET=allupc
UPC_IMPL=bupc
GASNET_CONDUIT=mpi
PRK_FLAGS="-Wc,-O3"
# probably because of old GCC (4.6)
- os: linux
compiler: gcc
env: PRK_TARGET=allhpx5
# Travis whitelist missing three Boost packages HPX-3 needs
- os: linux
env: PRK_TARGET=allhpx3
# LLVM Fortran is not ready.
- compiler: clang
env: PRK_TARGET=allfortran
# Python does not use compiler so only test one of them per OS (GCC)
- compiler: clang
env: PRK_TARGET=allpython
allow_failures:
# GUPC will fail when libnuma cannot be acquired via apt
- env: PRK_TARGET=allupc
# will fail if numpy package cannot be acquired via apt
- env: PRK_TARGET=allpython
- env: PRK_TARGET=allgrappa
addons:
apt:
sources:
- ubuntu-toolchain-r-test
# Boost is for Grappa and HPX
#- boost-latest
# clang-3.8 comes from this
#- llvm-toolchain-precise
packages:
# Python Numpy only
- python-numpy
# Required by GUPC
- libnuma-dev
# Grappa and HPX use CMake
- cmake
- gcc-4.8
- g++-4.8
- gfortran-4.8
- gcc-4.9
- g++-4.9
- gfortran-4.9
- gcc-5
- g++-5
- gfortran-5
# This should provide OpenMP
#- clang-3.8
# Boost is for Grappa and HPX-3 - reactivate with them
# Grappa needs these (according to their .travis.yml)
#- libboost-date-time1.55-dev
#- libboost-exception1.55-dev
#- libboost-filesystem1.55-dev
#- libboost-iostreams1.55-dev
#- libboost-math1.55-dev
#- libboost-random1.55-dev
#- libboost-regex1.55-dev
#- libboost-serialization1.55-dev
#- libboost-signals1.55-dev
#- libboost-system1.55-dev
#- libboost-test1.55-dev
#- libboost-timer1.55-dev
# HPX-3 needs these - not whitelisted yet
#- libboost_chrono1.55-dev
#- libboost_program_options1.55-dev
#- libboost_thread1.55-dev
env:
#
# VIM cheatsheet
# * comment out lines m to n by prepending #
# :m,n s/^/#/g
#
- PRK_TARGET=allpython
- PRK_TARGET=allserial
- PRK_TARGET=allfortran
- PRK_TARGET=allopenmp
- PRK_TARGET=allmpi1
- PRK_TARGET=allshmem
- PRK_TARGET=allmpirma
- PRK_TARGET=allmpishm
- PRK_TARGET=allmpiomp
- PRK_TARGET=allampi
- PRK_TARGET=allfgmpi
- PRK_TARGET=allcharm++
- PRK_TARGET=allupc
UPC_IMPL=gupc
- PRK_TARGET=allupc
UPC_IMPL=bupc
GASNET_CONDUIT=smp
PRK_FLAGS="-Wc,-O3"
- PRK_TARGET=allupc
UPC_IMPL=bupc
GASNET_CONDUIT=udp
PRK_FLAGS="-Wc,-O3"
# We do not need to test BUPC this thoroughly every time
# - PRK_TARGET=allupc
# UPC_IMPL=bupc
# GASNET_CONDUIT=mpi
# PRK_FLAGS="-Wc,-O3"
# - PRK_TARGET=allupc
# UPC_IMPL=bupc
# GASNET_CONDUIT=ofi
# PRK_FLAGS="-Wc,-O3"
# Chapel kernels are not merged yet. Activate these when they are.
# - PRK_TARGET=allchapel
# CHPL_COMM=none
# - PRK_TARGET=allchapel
# CHPL_COMM=gasnet
# HPX-3 kernels are not merged yet. Activate these when they are.
# - PRK_TARGET=allhpx3
# HPX-5 kernels are not merged yet. Activate these when they are.
# - PRK_TARGET=allhpx5
# Grappa is a problem. No reason to test it every time.
# - PRK_TARGET=allgrappa
before_install:
- pwd
- export TRAVIS_HOME=$PWD
- export TRAVIS_ROOT=$TRAVIS_HOME/PRK-deps
- mkdir -p $TRAVIS_ROOT
install:
- export PATH=$TRAVIS_ROOT/bin:$PATH
- export PATH=$TRAVIS_ROOT/gcc/bin:$PATH
- export PATH=$TRAVIS_ROOT/cmake/bin:$PATH
- sh ./travis/install-deps.sh $TRAVIS_ROOT $PRK_TARGET
before_script:
- pwd
script:
- sh ./travis/build-run-prk.sh $TRAVIS_ROOT $PRK_TARGET
after_failure:
- echo "Sad panda"
- find . -name CMakeOutput.log -exec cat {} ";"
- find . -name CMakeError.log -exec cat {} ";"
notifications:
email:
recipients:
on_success: [change]
on_failure: [always]