源码安装Hyper MPI
前提条件
编译环境变量检查
- 使用PuTTY工具,以Hyper MPI安装维护用户,如“hmpi_master”登录作业执行节点。
- 执行以下命令,检查GCC 9.3.0是否安装。
gcc -v
回显信息显示如下表示GCC 9.3.0已安装:
gcc version 9.3.0(GCC);
- 执行以下命令,检查libtool是否安装。
libtool --version
回显信息显示如下表示libtool 2.4.2已安装:
libtool (GNU libtool) 2.4.2
软件包编译
Hyper MPI包含Hyper MPI和HUCX两个软件层,其中Hyper MPI的安装依赖于HUCX,编译时应先编译HUCX。
- HUCX编译
- 使用PuTTY工具,以Hyper MPI安装维护用户,如“hmpi_master”登录作业执行节点。
- 下载HUCX源码包“hucx-1.1.0-huawei.tar.gz”。
下载地址:https://github.com/kunpengcompute/hucx/archive/refs/tags/v1.1.0-huawei.tar.gz。
- 下载XUCG源码包“xucg-1.1.0-huawei.tar.gz”。
下载地址: https://github.com/kunpengcompute/xucg/archive/refs/tags/v1.1.0-huawei.tar.gz。
- 将上述两个源码包上传至服务器HUCX源码包安装目录,如“/path/to/download/hucx”。
- 执行以下命令,解压上述两个源码包。
tar -zxvf hucx-1.1.0-huawei.tar.gz
tar -zxvf xucg-1.1.0-huawei.tar.gz
- 执行以下命令,进入HUCX源码包安装路径。
- 执行以下命令,将XUCG源码包中的内容复制到HUCX源码包中的“src/ucg”目录下。
cp -r xucg-1.1.0-huawei/* hucx-1.1.0-huawei/src/ucg
- 执行以下命令,进入“autogen.sh”脚本所在目录。
cd hucx-1.1.0-huawei/
- 执行以下命令,进行源码包安装。
./contrib/configure-opt --prefix=/path/to/install/hucx
make -j32
make -j32 install
make后面-j参数为并行编译参数,表示有多少CPU核数参与编译过程,请根据实际CPU核数进行指定。
- Hyper MPI编译
- 使用PuTTY工具,以Hyper MPI安装维护用户,如“hmpi_master”登录作业执行节点。
- 下载Hyper MPI源码包“hmpi-1.1.0-huawei.tar.gz”。
下载地址: https://github.com/kunpengcompute/hmpi/archive/refs/tags/v1.1.0-huawei.tar.gz
- 将源码包上传至服务器Hyper MPI源码包安装目录,如“/path/to/download/hmpi”。
- 执行以下命令,进入源码包安装目录。
- 执行以下命令,解压软件包。
- 执行以下命令,进入“autogen.pl”脚本所在目录。
cd hmpi-1.1.0-huawei/
- 执行以下命令,进行Hyper MPI源码包安装。
./autogen.pl
./configure --prefix=/path/to/install/hmpi --with-platform=contrib/platform/mellanox/optimized --enable-mpi1-compatibility --with-ucx=/path/to/install/hucx
make
make install
配置环境变量
可通过environment-modules工具和写入“~/.bashrc”文件两种方式配置环境变量。
- 方式1:使用environment-modules工具配置环境变量。
- 使用PuTTY工具,以Hyper MPI普通用户,如“hmpi_user”登录作业执行节点。
- 执行以下命令,安装environment-modules工具。
- 执行以下命令,在environment-modules工具安装路径下创建并编辑“Hmpi_modulefiles”配置文件。
- 打开“Hmpi_modulefiles”配置文件。
vi /path/to/install/Hmpi_modulefiles
- 按“i”进入编辑模式,修改如下内容:
#%Module1.0 # HMPI module for use with 'environment-modules' package: conflict mpi prepend-path OPAL_PREFIX /path/to/install/hmpi/ prepend-path PATH /path/to/install/hmpi/bin:/path/to/install/hucx/bin prepend-path LD_LIBRARY_PATH /path/to/install/hmpi/lib:/path/to/install/hucx/lib prepend-path INCLUDE /path/to/install/hmpi/include
/path/to/install:表示environment-modules工具的安装路径。用户若不指定安装路径,则默认安装在“/usr/share/Modules/modulefiles”路径下。
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“Hmpi_modulefiles”配置文件。
- 执行以下命令,在工具安装路径下加载环境变量。
module load /path/to/install/Hmpi_modulefiles
- 执行以下命令,将Hyper MPI环境变量写到用户的“~/.bashrc”文件中。
- 打开“~/.bashrc”文件。
vi ~/.bashrc
- 按“i”进入编辑模式,添加如下内容:
module use /path/to/install module load /path/to/install/Hmpi_modulefiles
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开“~/.bashrc”文件。
- 执行以下命令,使配置生效。
- 方式2:
- 使用PuTTY工具,以Hyper MPI普通用户,如“hmpi_user”登录作业执行节点。
- 执行以下命令,将以下环境变量写到用户的“~/.bashrc”文件中,使其配置生效。
export PATH=/path/to/install/hmpi/bin:/path/to/install/hucx/bin:$PATH
export OPAL_PREFIX=/path/to/install/hmpi/
export LD_LIBRARY_PATH=/path/to/install/hmpi/lib:/path/to/install/hucx/lib:$LD_LIBRARY_PATH
配置环境变量主要是将HUCX和Hyper MPI加入到PATH和LD_LIBRARY_PATH中。