Rate This Document
Findability
Accuracy
Completeness
Readability

Installing Hyper MPI

Prerequisites

The following dependencies have been installed:
  • perl-Data-Dumper
  • autoconf
  • automake
  • libtool 2.4.2
  • BiSheng Compiler 2.1.0
  • numactl
  • binutils
  • systemd-devel
  • valgrind

Compiling HUCX

  1. Use PuTTY to log in to the server as a Hyper MPI installation and maintenance user, for example, hmpi_master.
  2. Download the HUCX source package hucx-1.1.1-huawei.tar.gz.
  3. Download the XUCG source package xucg-1.1.1-huawei.tar.gz.
  4. Upload the two source packages to the server.
  5. Decompress the two source packages.
    tar -zxvf hucx-1.1.1-huawei.tar.gz
    tar -zxvf xucg-1.1.1-huawei.tar.gz
  6. Go to the directory where the HUCX source package is stored, for example, /path/to/download/hucx.
    cd /path/to/download/hucx
  7. Copy the content of the XUCG source package to the src/ucg directory in the HUCX source package.
    cp -r xucg-1.1.1-huawei/* hucx-1.1.1-huawei/src/ucg
  8. Go to the directory where the autogen.sh script is stored.
    cd hucx-1.1.1-huawei/
  9. Install the source package.
    ./autogen.sh
    ./contrib/configure-opt --prefix=/path/to/install/hucx CC=clang CXX=clang++ FC=flang

    If the numactl plugin has not been installed, specify the --disable-numa parameter.

    ./contrib/configure-opt --prefix=/path/to/install/hucx --disable-numa CC=clang CXX=clang++ FC=flang
    for file in `find . -name Makefile`;do sed -i "s/-Werror//g" $file;done
    for file in `find . -name Makefile`;do sed -i "s/-implicit-function-declaration//g" $file;done
    make -j32
    make -j32 install

    The -j parameter following make is a parallel compilation parameter, indicating the number of CPU cores involved in the compilation process. Specify this parameter based on the actual number of CPU cores.

  10. (Optional) The BiSheng Compiler depends on the system C++ library. If the system C++ library is incomplete, the compilation may fail. If an error message is displayed indicating that the header file (for example limits.h) cannot be found during the compilation, install the C++ library.
    yum install gcc*
    yum install gcc-*

    Alternatively, add a compilation option.

    make –stdlib=libstdc++
  11. (Optional) If the error message "clang-12 error: linker command failed with exit code 1" is displayed during the compilation, run the following command:
    #make –stdlib=libstdc++

Compiling Hyper MPI

  1. Use PuTTY to log in to the server as a Hyper MPI installation and maintenance user, for example, hmpi_master.
  2. Download the Hyper MPI source package hmpi-1.1.1-huawei.tar.gz.
  3. Upload the source package to the server.
  4. Decompress the software package.
    tar -zxvf hmpi-1.1.1-huawei.tar.gz
  5. Go to the directory where the source package is stored, for example, /path/to/download/hmpi.
    cd /path/to/download/hmpi
  6. Go to the directory where the autogen.pl script is stored.
    cd hmpi-1.1.1-huawei/
  7. Install the Hyper MPI source package.
    ./autogen.pl
    ./configure --prefix=/path/to/install/hmpi --enable-mpi1-compatibility --with-ucx=/path/to/install/hucx CC=clang CXX=clang++ FC=flang
    make
    make install