【昇腾】Ascend Snt9B硬件性能测试指导书

举报
modelarts-dev-server 发表于 2023/10/26 19:43:04 2023/10/26
【摘要】 【昇腾】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

安装完成后,可以看到如下输出:

image.png

如果已安装,但需要升级版本:

chmod 700 *.run
./Ascend-cann-toolkit_6.3.RC2_linux-aarch64.run --upgrade

安装或升级完成后,配置环境变量:

  1. 打开文件~/.bashrc;
  2. 在最后一行添加source /usr/local/Ascend/ascend-toolkit/set_env.sh;
  3. 执行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

执行后,结果如下:

image (1).png

由上图可知,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

image (2).png

3. RDMA通信带宽

RDMA用于两台机器之间的数据通信,在购买弹性裸金属时,需要打开RoCE网络才能正常测试和使用。更多信息请参考RoCE带宽时延测试

测试结果总结: 单RoCE卡 23.3GB * 8 = 186.6Gb (基本符合预期) 

服务端:hccn_tool -i 0 -roce_test ib_send_bw -s 409600000 -n 1000 -tcpimage (3).png

客户端:hccn_tool -i 1 -roce_test ib_send_bw -s 4096000 -n 1000 address 29.34.20.7 -tcp

image (4).png

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

安装完成后,看到如下结果则代表安装成功。

image (5).png

安装完成,需要配置环境变量。

  1. 打开文件~/.bashrc;
  2. 在最后一行添加source /usr/local/Ascend/toolbox/set_env.sh;
  3. 执行source ~/.bashrc使环境变量立即生效。

4.2 算力测试

4.2.1 峰值FP32算力

ascend-dmi -f -t fp32

结果为83T。

image (6).png

4.2.2 峰值FP16算力

ascend-dmi -f -t fp16

结果为313T。

image (7).png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。