Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Run DATAMOVER using mpifileutils


Build mpifileutils

For more details on datamover mpifileutils reference:

https://github.com/hpc/mpifileutils/blob/master/DAOS-Support.md

Build mpifileutils


Code Block
# Install whether building dependencies or installing dependencies (on all client nodes)
zypper install mpich-devel libbz2-devel # Setup environment (on launch node)

#Setup mpich env
module load gnu-mpich/3.4~a2
or
export LD_LIBRARY_PATH=<mpich lib path>:$LD_LIBRARY_PATH
export PATH=<mpich bin path>:$PATH
export MPI_HOME=<mpich path>


Install dependency packages and build mpifileutilsBuild mpifileutils with dependencies installed from packages


Code Block
# Install build dependencies (on all client nodes)
sudo zypper install dtcmp-mpich-devel libcircle-mpich-devel

# Build mpifileutils from installed packages (on all client nodes)
git clone --depth 1 https://github.com/hpc/mpifileutils
mkdir build install
cd build

    cmake ../mpifileutils -DENABLE_DAOS=ON \
                -DENABLE_LIBARCHIVE=OFF \
                -DDTCMP_INCLUDE_DIRS=/usr/lib64/mpi/gcc/mpich/include \
                -DDTCMP_LIBRARIES=/usr/lib64/mpi/gcc/mpich/lib64/libdtcmp.so \
                -DLibCircle_INCLUDE_DIRS=/usr/lib64/mpi/gcc/mpich/include \
                -DLibCircle_LIBRARIES=/usr/lib64/mpi/gcc/mpich/lib64/libcircle.so \
                -DWITH_CART_PREFIX=/usr \
                -DWITH_DAOS_PREFIX=/usr \
                -DCMAKE_INSTALL_INCLUDEDIR=/usr/lib64/mpi/gcc/mpich/include \
                -DCMAKE_INSTALL_PREFIX=/usr/lib64/mpi/gcc/mpich/ \
                -DCMAKE_INSTALL_LIBDIR=lib64
    make install


Build dependencies and build mpifileutilsmpifileutils with dependencies that are built from source


Code Block
# Build dependencies (all client nodes)
mkdir install
installdir=`pwd`/install

# download dependencies and build
mkdir deps
cd deps
    wget https://github.com/hpc/libcircle/releases/download/v0.3/libcircle-0.3.0.tar.gz
    wget https://github.com/llnl/lwgrp/releases/download/v1.0.3/lwgrp-1.0.3.tar.gz
    wget https://github.com/llnl/dtcmp/releases/download/v1.1.1/dtcmp-1.1.1.tar.gz
    wget https://github.com/libarchive/libarchive/releases/download/3.5.1/libarchive-3.5.1.tar.gz
    
    tar -zxf libcircle-0.3.0.tar.gz
    cd libcircle-0.3.0
        ./configure --prefix=$installdir
        make install
    cd .. 
    tar -zxf lwgrp-1.0.3.tar.gz 
    cd lwgrp-1.0.3
        ./configure --prefix=$installdir
        make install
    cd .. 
    tar -zxf dtcmp-1.1.1.tar.gz
    cd dtcmp-1.1.1
        ./configure --prefix=$installdir --with-lwgrp=$installdir
        make install
    cd ..
    tar -zxf libarchive-3.5.1.tar.gz
        cd libarchive-3.5.1
        ./configure --prefix=$installdir
        make install
    cd ..
cd ..

# Download mpifileutils and build (on all client nodes)
git clone --depth 1 https://github.com/hpc/mpifileutils
mkdir build install
cd build 
    cmake ../mpifileutils \
                -DWITH_DTCMP_PREFIX=../install \
                -DWITH_LibCircle_PREFIX=../install \
                -DCMAKE_INSTALL_PREFIX=../install \
                -DWITH_CART_PREFIX=/usr \
                -DWITH_DAOS_PREFIX=/usr \
                -DENABLE_DAOS=ON
    make install

...