更新时间:2024-04-30 GMT+08:00
分享

NPU Snt9B集合通信算子多机多卡性能测试指导

场景描述

本文介绍如何使用在2台NPU Snt9B服务器上进行集合通信算子多机性能测试,包括的集合通信算子:allreduce、reducescatter、allgather、all2all。

本文选择的服务器镜像是:EulerOS-2.10-Arm-rc3-64bit-for-Snt9B-BareMetal-with-CANN7.0.RC1。该镜像已经安装CANN和mpich,并进行了环境配置,若选择其他镜像需要先执行步骤1和2。

前提条件

  • 确保主节点已经配置了其他节点机器的免密登录,配置方法参考NPU Snt9B裸金属服务器多机免密互通解决方案
  • 确保mpirun的安装路径都是相同的。
  • 确保设置的hostfile文件位于主节点中,且配置格式如下所示。
    # 训练节点ip:每节点的进程数
    192.168.1.1:8
    图1 示例
  • 确保所有节点的机器防火强都已关闭
    # 查看防火墙状态
    systemctl status firewalld
    # 关闭防火墙
    systemctl stop firewalld

操作步骤

  1. 安装cann-toolkit。下载Ascend-cann-toolkit_6.3.T205_linux-aarch64.run,并执行:

    ./Ascend-cann-toolkit_6.3.T205_linux-aarch64.run --quiet --full

  2. 安装mpich-3.2.1.tar.gz。下载mpich-3.2.1.tar.gz,并执行:

    mkdir -p /home/mpich
    mv /root/mpich-3.2.1.tar.gz /home/
    cd /home/;tar -zxvf mpich-3.2.1.tar.gz
    cd /home/mpich-3.2.1
    ./configure --prefix=/home/mpich --disable-fortran
    make && make install

    设置环境变量和编译hccl算子。

    export PATH=/home/hjh/mpich/bin:$PATH
    cd /usr/local/Ascend/ascend-toolkit/latest/tools/hccl_test
    export LD_LIBRARY_PATH=/home/hjh/mpich/lib/:/usr/local/Ascend/ascend-toolkit/latest/lib64:$LD_LIBRARY_PATH
    make MPI_HOME=/home/hjh/mpich ASCEND_DIR=/usr/local/Ascend/ascend-toolkit/latest

    算子编译完成后显示内容:

    图2 算子编译完成

  3. 测试通信算子。在主节点中执行以下命令。

    • 多机all_reduce_test
      cd /usr/local/Ascend/ascend-toolkit/latest/tools/hccl_test

      多机多卡测试执行如下命令:

      mpirun -f hostfile -n 16 ./bin/all_reduce_test -b 8k -e 2048M -f 2 -d fp32 -o sum -p 8
      图3 多机all_reduce_test
    • 多机reduce_scatter_test
      cd /usr/local/Ascend/ascend-toolkit/latest/tools/hccl_test

      多机多卡测试执行如下命令:

      mpirun -f hostfile -n 16 ./bin/reduce_scatter_test -b 8k -e 2048M -f 2 -d fp32 -o sum -p 8
      图4 多机reduce_scatter_test
    • 多机all_gather_test
      cd /usr/local/Ascend/ascend-toolkit/latest/tools/hccl_test

      多机多卡测试执行如下命令:

      mpirun -f hostfile -n 16 ./bin/all_gather_test -b 8k -e 2048M -f 2 -d fp32 -p 8
      图5 多机all_gather_test
    • 多机alltoallv_test
      cd /usr/local/Ascend/ascend-toolkit/latest/tools/hccl_test

      多机多卡测试执行如下命令:

      mpirun -f hostfile -n 16 ./bin/alltoallv_test -b 8K -e 2048M -f 2 -d fp32
      图6 多机alltoallv_test

分享:

    相关文档

    相关产品