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
- Use PuTTY to log in to the server as a Hyper MPI installation and maintenance user, for example, hmpi_master.
- Download the HUCX source package hucx-1.1.1-huawei.tar.gz.
- Download the XUCG source package xucg-1.1.1-huawei.tar.gz.
- Upload the two source packages to the server.
- Decompress the two source packages.
tar -zxvf hucx-1.1.1-huawei.tar.gz tar -zxvf xucg-1.1.1-huawei.tar.gz
- Go to the directory where the HUCX source package is stored, for example, /path/to/download/hucx.
cd /path/to/download/hucx
- 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
- Go to the directory where the autogen.sh script is stored.
cd hucx-1.1.1-huawei/
- 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.
- (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++
- (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
- Use PuTTY to log in to the server as a Hyper MPI installation and maintenance user, for example, hmpi_master.
- Download the Hyper MPI source package hmpi-1.1.1-huawei.tar.gz.
- Upload the source package to the server.
- Decompress the software package.
tar -zxvf hmpi-1.1.1-huawei.tar.gz
- Go to the directory where the source package is stored, for example, /path/to/download/hmpi.
cd /path/to/download/hmpi
- Go to the directory where the autogen.pl script is stored.
cd hmpi-1.1.1-huawei/
- 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
Parent topic: Configuring the Compilation Environment