Installing Hyper MPI
Procedure
- Use PuTTY to log in to the server as the root user.
- Go to the /path/to/hmpi directory.
cd /path/to/hmpi
- Decompress the Hyper MPI installation package.
tar -zxvf HMPI_1.0.2_aarch64.tar.gz
- Go to the HUCX source code directory.
cd HMPI_1.0.2_aarch64/source/hucx
Hyper MPI consists of HUCX and Hyper MPI.
- Compile HUCX.
- If you use the BiSheng Compiler directly, HUCX cannot be compiled. You need to delete or comment out the content in src/ucs/arch/aarch64/cpu.h.
static inline void ucs_arch_clear_cache(void *start, void *end) { uintptr_t ptr; unsigned ctr_el0, dcache; asm volatile ("mrs\t%0, ctr_el0":"=r" (ctr_el0)); dcache = sizeof(int) << ((ctr_el0 >> 16) & 0xf); for (ptr = ucs_align_down((uintptr_t)start, dcache); ptr < (uintptr_t)end; ptr += dcache) { asm volatile ("dc cvac, %0" :: "r" (ptr) : "memory"); } asm volatile ("dsb ish" ::: "memory"); } - Run the following commands:
./autogen.sh CC=clang CXX=clang++ FC=flang F77=flang ./configure --prefix=/path/to/hmpi/HMPI_1.0.2_aarch64/source/hucx --enable-mt --enable-devel-headers
If the numactl plugin does not exist, add the --disable-numa parameter. Otherwise, an error is reported and you need to run the following command:
CC=clang CXX=clang++ FC=flang F77=flang ./configure --prefix=/path/to/hmpi/HMPI_1.0.2_aarch64/source/hucx --enable-mt --enable-devel-headers --disable-numa
make make install
If the "limits file not found" error is reported, run the cd src/tools/perf/lib/ command based on the installation directory:
ln -s /path/to/bisheng/1.3.2.b023/include/c++/v1/*
- If you use the BiSheng Compiler directly, HUCX cannot be compiled. You need to delete or comment out the content in src/ucs/arch/aarch64/cpu.h.
- Go to the HMPI source code directory.
cd HMPI_1.0.2_aarch64/source/hmpi
- Compile HMPI.
./autogen.pl CC=clang CXX=clang++ F77=flang F90=flang FC=flang \ ./configure --prefix=/path/to/hmpi/HMPI_1.0.2_aarch64/source/hmpi --with-platform=contrib/platform/mellanox/optimized --enable-mpi1-compatibility --with-ucx=/path/to/hmpi/HMPI_1.0.2_aarch64/source/hucx make make install
- If the "C and C++ compilers are not link compatible" error is reported, check the log as prompted. A possible cause is that the libstdc library is missing. Use Yum to install the library.
yum install libstdc++.aarch64
- For the libstdc++.so file problem, install the file first.
- If the "C and C++ compilers are not link compatible" error is reported, check the log as prompted. A possible cause is that the libstdc library is missing. Use Yum to install the library.
- Set the environment variables.
export PATH=/path/to/hmpi/HMPI_1.0.2_aarch64/source/hmpi/bin:$PATH export LD_LIBRARY_PATH=/path/to/hmpi/HMPI_1.0.2_aarch64/source/hmpi/lib:$LD_LIBRARY_PATH export OPAL_PREFIX=/path/to/hmpi/HMPI_1.0.2_aarch64/source/hmpi
Parent topic: Configuring the Compilation Environment