-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinstall_openmpi.sh
executable file
·43 lines (38 loc) · 1.28 KB
/
install_openmpi.sh
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
#!/bin/bash
set -e
build_prefix=${build_dir}/openmpi-${openmpi_version}
install_prefix=${install_dir}/openmpi-${openmpi_version}
if [ "${compiler}" == "intel" ]; then
build_prefix+=-intel
install_prefix+=-intel
fi
rm -rfv ${build_prefix}
mkdir -pv ${build_prefix}/bld
cd ${build_prefix}
tarball=openmpi-${openmpi_version}.tar.gz
openmpi_version_major=$(echo ${openmpi_version} | cut -f1,2 -d'.')
url=https://download.open-mpi.org/release/open-mpi/v${openmpi_version_major}/${tarball}
if [ ! -f ${dist_dir}/openmpi/${tarball} ]; then wget ${url} -P ${dist_dir}/openmpi/; fi
tar -xzvf ${dist_dir}/openmpi/${tarball}
ln -sv openmpi-${openmpi_version} src
cd bld
config_string=
config_string+=" --disable-dlopen"
config_string+=" --enable-shared"
config_string+=" --enable-static"
config_string+=" --enable-mpi-cxx"
config_string+=" --enable-mpi-fortran"
if [ "${system_has_java}" == "true" ]; then
config_string+=" --enable-mpi-java"
fi
config_string+=" --with-pmi"
config_string+=" --with-pmix"
config_string+=" --with-slurm"
config_string+=" --prefix=${install_prefix}"
config_string+=" CC=${CC} CXX=${CXX} FC=${FC}"
if [ -n "${compiler_rpath_dirs}" ]; then
config_string+=" LDFLAGS=-Wl,-rpath,${compiler_rpath_dirs}"
fi
../src/configure ${config_string}
make -j${num_cpus}
make -j${num_cpus} install