Skip to content

Commit 4e6ad89

Browse files
authored
test Intel MPI on linux (#279)
Add to Travis matrix
1 parent 4e3d5a7 commit 4e6ad89

File tree

3 files changed

+31
-3
lines changed

3 files changed

+31
-3
lines changed

.travis.yml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,26 @@ cache:
2727
env:
2828
- MPI_IMPL=mpich
2929
- MPI_IMPL=openmpi
30+
- MPI_IMPL=intelmpi
3031

3132
matrix:
3233
allow_failures: # issue 262
3334
- os: osx
3435
env: MPI_IMPL=openmpi
36+
exclude:
37+
- os: osx
38+
env: MPI_IMPL=intelmpi
3539

3640
before_install:
3741
- sh ./conf/travis-install-mpi.sh $MPI_IMPL
38-
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then export JULIA_MPI_PATH=$HOME/$MPI_IMPL; fi
42+
- |
43+
if [ "$TRAVIS_OS_NAME" == "linux" ]; then
44+
if [ "$MPI_IMPL" == "intelmpi" ]; then
45+
source $HOME/intel/compilers_and_libraries/linux/mpi/intel64/bin/mpivars.sh release
46+
else
47+
export JULIA_MPI_PATH=$HOME/$MPI_IMPL;
48+
fi
49+
fi
3950
# Work around OpenMPI attempting to create overly long temporary
4051
# file names - and erroring as a result
4152
- export TMPDIR=/tmp

conf/travis-install-mpi.sh

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ MPI_IMPL="$1"
99
os=`uname`
1010
OMPIVER=openmpi-3.0.0
1111
MPICHVER=mpich-3.2.1
12-
12+
IMPIVER=2019.4.243
1313
case "$os" in
1414
Darwin)
1515
brew update
@@ -59,6 +59,22 @@ case "$os" in
5959
make -j > /dev/null
6060
sudo make install > /dev/null
6161
;;
62+
intelmpi)
63+
wget http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/15553/l_mpi_$IMPIVER.tgz
64+
tar -xzf l_mpi_$IMPIVER.tgz
65+
cd l_mpi_$IMPIVER
66+
cat << EOF > intel.conf
67+
ACCEPT_EULA=accept
68+
CONTINUE_WITH_OPTIONAL_ERROR=yes
69+
PSET_INSTALL_DIR=${HOME}/intel
70+
CONTINUE_WITH_INSTALLDIR_OVERWRITE=no
71+
PSET_MODE=install
72+
ARCH_SELECTED=ALL
73+
COMPONENTS=;intel-conda-index-tool__x86_64;intel-comp-l-all-vars__noarch;intel-comp-nomcu-vars__noarch;intel-imb__x86_64;intel-mpi-rt__x86_64;intel-mpi-sdk__x86_64;intel-mpi-doc__x86_64;intel-mpi-samples__x86_64;intel-mpi-installer-license__x86_64;intel-conda-impi_rt-linux-64-shadow-package__x86_64;intel-conda-impi-devel-linux-64-shadow-package__x86_64;intel-mpi-psxe__x86_64;intel-psxe-common__noarch;intel-psxe-common-doc__noarch;intel-compxe-pset
74+
EOF
75+
./install.sh --silent intel.conf
76+
;;
77+
6278
*)
6379
echo "Unknown MPI implementation: $MPI_IMPL"
6480
exit 1

deps/build.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,10 @@ const libmpi = find_library(Sys.iswindows() ? "msmpi.dll" : "libmpi",
3939
MPI_LIBRARY_PATH !== nothing ? [MPI_LIBRARY_PATH] : [])
4040

4141
libptr = dlopen_e(libmpi)
42-
if libptr == C_NULL
42+
if libmpi == "" || libptr == C_NULL
4343
error("No MPI library found")
4444
end
45+
@info "Using MPI library $libmpi"
4546

4647
libpath = dlpath(libptr)
4748
libsize = filesize(libpath)

0 commit comments

Comments
 (0)