【昇腾】Ascend Snt9B硬件性能测试指导书
1. 简介
本文介绍在Snt9B的机器上,如何进行硬件性能测试,测试结果汇总如下表所示。
测试项 | 测试值 |
NPU-NPU带宽 | xxxGB/s |
RDMA带宽 | xxxGb/s |
峰值FP32算力(PFLOPS) | xxT |
峰值FP16算力(PFLOPS) | xxxT |
2. NPU-NPU通信带宽
参考文档为HCCL性能测试。
2.1 配置pip
物理机上没有带pip,如有需要可安装:
python -m ensurepip --upgrade
ln -s /usr/bin/pip3 /usr/bin/pip
配置pip源:
mkdir -p ~/.pip
vim ~/.pip/pip.conf
写入如下内容,使用华为云的源(也可以使用清华源等其他源):
[global]
index-url = http://mirrors.myhuaweicloud.com/pypi/web/simple
format = columns
[install]
trusted-host=mirrors.myhuaweicloud.com
2.2 CANN Toolkit安装
首先查看是否已经安装,执行如下命令,能显示版本号则表示已经安装:
cat /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/ascend_toolkit_install.info
如果未安装,则需要从官网下载相关软件包,其中社区版可以直接下载,商用版是权限受控,仅华为工程师和渠道用户有权限下载,具体可参考CANN Toolkit下载链接 。
安装CANN Toolkit,注意替换包名:
chmod 700 *.run
./Ascend-cann-toolkit_6.3.RC2_linux-aarch64.run --full
安装完成后,可以看到如下输出:
如果已安装,但需要升级版本:
chmod 700 *.run
./Ascend-cann-toolkit_6.3.RC2_linux-aarch64.run --upgrade
安装或升级完成后,配置环境变量:
- 打开文件~/.bashrc;
- 在最后一行添加source /usr/local/Ascend/ascend-toolkit/set_env.sh;
- 执行source ~/.bashrc使环境变量立即生效。
2.3 安装mpi
(1)安装mpich3.2.1:
https://www.mpich.org/static/downloads/3.2.1/mpich-3.2.1.tar.gz
(2)下载并解压
mkdir -p /home/mpi/mpich
mv mpich-3.2.1.tar.gz /home/mpi/
cd /home/mpi/
tar -zxvf mpich-3.2.1.tar.gz
(3)编译算子
以下命令在cd mpich-3.2.1 执行
./configure --prefix=/home/mpi/mpich --disable-fortran
make && make install
(4)配置环境变量
export PATH=/home/mpi/mpich/bin:$PATH
cd /usr/local/Ascend/ascend-toolkit/latest/tools/hccl_test
export LD_LIBRARY_PATH=/home/mpi/mpich/lib/:/usr/local/Ascend/ascend-toolkit/latest/lib64:$LD_LIBRARY_PATH
make MPI_HOME=/home/mpi/mpich ASCEND_DIR=/usr/local/Ascend/ascend-toolkit/latest
2.4 HCCL测试
2.4.1 单机8卡测试
执行如下命令,测试单机8卡之间的NPU与NPU互相通信带宽。
export HCCL_BUFFSIZE=2048
mpirun -n 8 ./bin/all_reduce_test -b 8 -e 1024M -f 2 -p 8
执行后,结果如下:
由上图可知,NPU-NPU之间最大为60GB/s,由于每张卡都与其他7张卡互联,因此整体带宽大约为60GB/s*7=420GB/s。
2.4.2 2机16卡测试
在当前操作节点生成秘钥信息(如若环境中存在,可不重复执行):
ssh-keygen -t rsa
将操作节点公钥复制到集群通信其他节点,实现SSH密钥登录远程主机。
ssh-copy-id -i /root/.ssh/id_rsa.pub node2_address
配置完成后,检测下是否可以直接ssh登录,若能登录,则说明配置成功。
ssh root@<node2_ip>
配置HCCL测试的环境变量。HCCL_SOCKET_FAMILY=AF_INET代表两个节点将使用IPV4进行通信。
export HCCL_SOCKET_FAMILY=AF_INET
export HCCL_BUFFSIZE=2048
创建hostfile文件,在其中写入两行内容:
<node1_ip>:8
<node2_ip>:8
进行测试:
mpirun -f hostfile -n 16 ./bin/all_reduce_test -b 8K -e 1024M -f 2 -d fp32 -o sum -p 8
3. RDMA通信带宽
RDMA用于两台机器之间的数据通信,在购买弹性裸金属时,需要打开RoCE网络才能正常测试和使用。更多信息请参考RoCE带宽时延测试。
测试结果总结: 单RoCE卡 23.3GB * 8 = 186.6Gb (基本符合预期)
服务端:hccn_tool -i 0 -roce_test ib_send_bw -s 409600000 -n 1000 -tcp
客户端:hccn_tool -i 1 -roce_test ib_send_bw -s 4096000 -n 1000 address 29.34.20.7 -tcp
4. 算力测试
4.1 安装ToolBox
首先执行如下命令,查看是否已经安装,如果命令正常显示版本信息,说明已经安装,则无需再安装。
cat /usr/local/Ascend/toolbox/latest/ascend_toolbox_install.info
从MindX DL官网下载toolbox,下载后,执行如下命令进行安装:
chmod 700 *.run
./Ascend-mindx-toolbox_5.0.RC2_linux-aarch64.run --install
安装完成后,看到如下结果则代表安装成功。
安装完成,需要配置环境变量。
- 打开文件~/.bashrc;
- 在最后一行添加source /usr/local/Ascend/toolbox/set_env.sh;
- 执行source ~/.bashrc使环境变量立即生效。
4.2 算力测试
4.2.1 峰值FP32算力
ascend-dmi -f -t fp32
结果为83T。
4.2.2 峰值FP16算力
ascend-dmi -f -t fp16
结果为313T。
- 点赞
- 收藏
- 关注作者
评论(0)