Files
TomoATT/install_mpi_and_hdf5_local.sh

49 lines
1.2 KiB
Bash
Raw Permalink Normal View History

2025-12-17 10:53:43 +08:00
#!/bin/bash
# compile and install hdf5 parallel on linux (tested only on ubuntu 22.04)
# every file will be placed in external_libs
cd ./external_libs
# make a local install pass
mkdir local_mpi_hdf5
# install openmpi
# download source
wget https://download.open-mpi.org/release/open-mpi/v4.1/openmpi-4.1.3.tar.gz
## Extract it
tar -xvf openmpi-4.1.3.tar.gz
cd openmpi-4.1.3
# configure
## cuda aware mpi
#./configure --prefix=$(pwd)/../local_mpi_hdf5 --with-cuda
# without cuda extension
./configure --prefix=$(pwd)/../local_mpi_hdf5
## make
make -j16 && make install
#
cd ../
# download hdf5 source
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.13/hdf5-1.13.3/src/hdf5-1.13.3.tar.gz
#Extract the downloaded directory
tar -xvf hdf5-1.13.3.tar.gz
cd hdf5-1.13.3/
#autoreconf -i
#./autogen.sh
# Configure the code. (the pathes to mpicc, mpicxx should vary on the environment)
CC=$(pwd)/../local_mpi_hdf5/bin/mpicc CXX=$(pwd)/../local_mpi_hdf5/bin/mpicxx ./configure --enable-parallel --enable-unsupported --enable-shared --enable-cxx --prefix=$(pwd)/../local_mpi_hdf5
# make
make -j16 && make install
# now openmpi and hdf5 executables are in external_libs/local_mpi_hdf5/bin