工具编译
MPI安装与配置
HCCL性能测试工具依赖MPI拉起多个进程,所以需要先安装MPI软件包。
如果通信网卡使用IPv4协议,需要安装MPI 3.2.1版本;如果通信网卡使用IPv6协议,则需要安装Open MPI-4.1.5版本。
- 安装MPI软件包。
下面操作以安装MPI 3.2.1版本的软件包为例。
- 下载并解压MPI软件包。
在MPI官网下载3.2.1版本的软件包,例如:mpich-3.2.1.tar.gz,然后执行如下命令解压缩软件包。
tar -zxvf mpich-3.2.1.tar.gz
- 进入MPI解压后路径,并配置编译环境。
cd mpich-3.2.1 ./configure --disable-fortran --prefix=/usr/local/mpich-3.2.1
其中 --prefix 表示配置的MPI安装路径,用户可自定义。
- 编译并安装MPI。
make && make install
以上命令执行完成后MPICH会安装在 /usr/local/mpich-3.2.1路径下。
- 下载并解压MPI软件包。
- 配置网络节点信息,此步骤仅在通信网卡使用IPv6协议时进行,若使用IPv4协议,跳过即可。
将运行环境的网卡IPv6地址加入到 /etc/hosts 文件中,如下图所示:
注意如果是Euler OS操作系统,需要执行nmcli c reload命令使更新后的“/etc/hosts”文件生效。
- 配置当前操作节点到集群通信节点的SSH信任关系,以支持集群通信节点远程登录。
以下仅为操作示例:
- 在当前操作节点生成密钥信息(如若环境中存在,可不重复执行):
ssh-keygen -t rsa
例如密钥信息生成后,存储在/root/.ssh/id_rsa.pub文件中。
- 将操作节点公钥复制到集群通信其他节点,实现SSH密钥登录远程主机。
针对图1中的node3与node4节点,示例如下:
ssh-copy-id -i /root/.ssh/id_rsa.pub node3_ipv6_address ssh-copy-id -i /root/.ssh/id_rsa.pub node4_ipv6_address
- SSH远程登录node3与node4,确认是否可以直接登录。
- 在当前操作节点生成密钥信息(如若环境中存在,可不重复执行):
- 配置MPICH启动参数,此步骤仅在通信网卡使用IPv6协议时进行,若使用IPv4协议,跳过即可。
export HYDRA_LAUNCHER_EXTRA_ARGS="-B 本节点的IPv6网卡名"
配置环境变量
配置HCCL性能测试工具编译时依赖的环境变量:
export PATH=/usr/local/mpich-3.2.1/bin:$PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpich-3.2.1/lib:${INSTALL_DIR}/lib64
- “/usr/local/mpich-3.2.1/lib”为安装后MPI的库文件所在路径。
- ${INSTALL_DIR}为表示CANN软件安装后的文件存储路径。${INSTALL_DIR}请替换为CANN软件安装后文件存储路径。例如,若安装的Ascend-cann-toolkit软件包,则安装后文件存储路径为:$HOME/Ascend/ascend-toolkit/latest。
编译HCCL性能测试工具
- 进入HCCL性能测试工具源码存放路径。
cd ${INSTALL_DIR}/tools/hccl_test
- 执行如下命令进行HCCL性能测试工具的编译:
make MPI_HOME=/usr/local/mpich-3.2.1 ASCEND_DIR=${INSTALL_DIR}
“/usr/local/mpich-3.2.1”为MPI安装与配置时设置的MPI安装路径。
编译成功后,会在${INSTALL_DIR}/tools/hccl_test/bin目录下生成集合通信性能测试工具的可执行文件,例如:
all_gather_test、all_reduce_test等,每一个可执行文件对应一个集合通信算子。
父主题: HCCL性能测试工具