下载
中文
注册

算力测试

测试项功能

算力测试通过构造矩阵乘“A(m,k)*B(k,n)”并执行一定次数的方式,根据运算量与执行多次矩阵乘所耗费时间来计算整卡或处理器中AI Core的算力值和满算力下实时的功率。其中Atlas A2训练系列产品的算力测试包含运算量与执行多次矩阵乘和向量乘所耗费时间来计算整卡或处理器中AI Core的算力值和满算力下实时的功率。

设计的参数如表1表2所示。
表1 矩阵乘参数

算子运算类型

参数

说明

取值

fp16模式(推理和训练服务器)

bf16模式(Atlas A2 训练系列产品Atlas 800I A2 推理服务器

int8模式( Atlas 200/300/500 推理产品

m

A矩阵行

256

k

A矩阵列,B矩阵行

32

n

B矩阵列

128

int8模式( Atlas 200I/500 A2 推理产品 Atlas 800I A2 推理服务器 Atlas 训练系列产品 Atlas A2 训练系列产品)

hf32模式(Atlas A2 训练系列产品Atlas 800I A2 推理服务器

m

A矩阵行

256

k

A矩阵列,B矩阵行

64

n

B矩阵列

128

fp32模式(Atlas A2 训练系列产品Atlas 800I A2 推理服务器

m

A矩阵行

128

k

A矩阵列,B矩阵行

32

n

B矩阵列

64

表2 向量乘参数

算子运算类型

参数

说明

取值

fp16模式

n

向量长度

32760

fp32模式

hf32模式

bf16模式

n

向量长度

16380

支持的场景

算力测试支持的设备及场景如表3所示。(在下表中,Y表示支持,N表示不支持。)

表3 支持的场景和产品型号

场景/产品型号

Atlas 训练系列产品

Atlas A2 训练系列产品

Atlas 200/300/500 推理产品

Atlas 推理系列产品

Atlas 800I A2 推理服务器

Atlas 200I/500 A2 推理产品

物理机

Y

Y

Y

6

Y

Y

宿主机+容器

Y

Y

2

6

Y

N

虚拟机

1

5

3

4

N

N

  1. Atlas 800 训练服务器(型号 9000)Atlas 900 PoD(型号 9000)Atlas 900T PoD Lite支持。
  2. Atlas 300I 推理卡Atlas 500 Pro 智能边缘服务器(型号 3000)Atlas 200 AI加速模块(EP场景)支持。
  3. Atlas 300I 推理卡Atlas 500 Pro 智能边缘服务器(型号 3000)支持。
  4. Atlas 300I Pro 推理卡Atlas 300I Duo 推理卡Atlas 300V Pro 视频解析卡Atlas 300V 视频解析卡支持。
  5. Atlas 200T A2 Box16 异构子框支持。
  6. Atlas 300I Pro 推理卡Atlas 300I Duo 推理卡Atlas 300V Pro 视频解析卡Atlas 300V 视频解析卡Atlas 200I SoC A1 核心板支持。

测试前设置

  • 由于昇腾AI处理器会预设性能阈值,建议在设备温度稳定并低于90℃的情况下进行算力测试,避免因设备温度过高触发主动降频功能,影响算力测试结果。
  • 在执行算力测试前,建议提前在环境上安装fuser软件,以便Ascend DMI对NPU进程进行监测。
  • 为了避免频繁输出日志影响测试结果,测试前确认Host和Device的日志级别设置为ERROR,确认及设置方法如下:
    1. 确认日志级别:
      • Host侧:通过执行echo $GLOBAL_LOG_LEVEL命令查询,如果查询结果为非法值或者空,表示日志级别为缺省级别ERROR,对应数值3。
      • Device侧:请参考msnpureport工具使用,查看全局日志级别、模块日志级别和是否开启Event日志。
    2. 如果日志级别不为ERROR,请参考《CANN 日志参考》中“设置日志级别”章节章节,设置Host和Device侧的日志级别。

测试项参数查询

用户可任选以下指令之一查看算力测试命令的可用参数。

ascend-dmi -f -h

ascend-dmi -f --help

各参数解释如表4所示。

表4 参数说明

参数

说明

是否必填

[-f, --flops]

使用该参数测试整卡或芯片的算力。

[-t, --type]

指定算子运算类型,可以为fp16、fp32、hf32、bf16和int8,若未指定则默认为fp16。

[-d, --device]

指定Device ID,执行该Device ID所在整卡的算力测试,Device ID是指昇腾芯片的逻辑ID,若不填写Device ID则默认返回Device 0的算力信息。

[-et, --et, --execute-times]

指定芯片单个AI Core上运行矩阵乘法的执行次数。

  • 训练场景:若不填写执行次数则默认为60。训练场景单位为十万,参数范围为[10,80]。
  • 推理场景:若不填写执行次数则默认为10。推理场景单位为百万,参数范围为[10,80]。

[-fmt, --fmt, --format]

指定输出格式,可以为normal或json。若未指定则默认为normal。

[-q, --quiet]

指定该参数,将不再进行防呆提示,用户将默认允许该操作。

说明:

若不指定该参数,将进行防呆提示,用户需要输入Y或N(y或n)确认是否进行测试。

[-h, --help]

查看Ascend DMI工具“算力测试”功能的帮助信息。

注:

  • 本文档输入或输出的Device ID都是芯片逻辑ID。
  • 用户可以执行npu-smi info -m命令,在显示界面表格中的Chip Logic ID参数处获得芯片逻辑ID,NPU ID则为对应的芯片物理ID。
  • ascend-dmi -f后使用-d,--et等多个二级参数时,可任意指定这些参数的排列顺序,不影响命令结果输出。例如:ascend-dmi -f -d 2 --et 60ascend-dmi -f --et 60 -d 2输出结果相同。

使用示例

  • 推理场景以测试Device 2,指定算子运算类型默认为fp16,执行次数为6千万的算力为例。

    ascend-dmi -f -d 2 --et 60

    若返回如图1所示信息,表示工具运行正常。

    图1 推理服务器算力测试示例一
  • 推理场景以测试Device 2,指定算子运算类型为int8,执行次数为6千万的算力为例。

    ascend-dmi -f -t int8 -d 2 --et 60

    若返回如图2所示信息,表示工具运行正常。

    图2 推理服务器算力测试示例二
  • 训练场景以测试Device 3,执行次数为8百万的算力为例。

    ascend-dmi -f -d 3 --et 80

    若返回如图3所示信息,表示工具运行正常。

    图3 训练服务器算力测试示例
  • 训练场景下,Atlas A2 训练系列产品以算力测试类型为hf32为例。

    ascend-dmi -f -t hf32

    若返回如图4所示信息,表示工具运行正常。

    图4 Atlas A2训练系列产品算力测试示例

上述图中各类服务器参数介绍如表5所示。

表5 显示界面参数说明

参数

说明

Device

Device ID。

Execute Times

  • 训练场景:
    • Atlas A2 训练系列产品上,Execute Times为单个AI Core执行矩阵乘的次数乘以AI Core的个数与单个Vector Core执行向量乘的次数乘以Vector Core的个数相加计算所得。
    • Atlas 训练系列产品 的Execute Times为单个AI Core执行矩阵乘的次数乘以AI Core的个数计算所得。
  • 推理场景:
    • Atlas 800I A2 推理服务器上,Execute Times为单个AI Core执行矩阵乘的次数乘以AI Core的个数与单个Vector Core执行向量乘的次数乘以Vector Core的个数相加计算所得。
    • 其他推理产品Execute Times为执行矩阵乘的次数乘以AI Core的个数,再乘以芯片的个数计算所得。

Duration(ms)

执行多次矩阵乘所耗费的时间。

TFLOPS@FP16

进行算力测试得到的算力值。FP16为指定的算子运行类型。

Power(W)

满算力下的实时功率。

说明:

用户无需关注算力测试时芯片的功率,因为功耗数据是按周期采集,且前后两次采集之间存在时间间隔,当算力测试时间过短时,会出现功耗数据波动。功耗测试请使用更具针对性的功耗测试选项进行。

为保证返回检测结果的正确性和准确性,算力测试需要单独执行。