49 lines
1.2 KiB
Bash
Executable File
49 lines
1.2 KiB
Bash
Executable File
#!/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
|