算力测试
测试项功能
算力测试通过构造矩阵乘“A(m,k)*B(k,n)”并执行一定次数的方式,根据运算量与执行多次矩阵乘所耗费时间来计算整卡或处理器中AI Core的算力值和满算力下实时的功率。其中Atlas A2训练系列产品的算力测试包含运算量与执行多次矩阵乘和向量乘所耗费时间来计算整卡或处理器中AI Core的算力值和满算力下实时的功率。
算子运算类型 |
参数 |
说明 |
取值 |
---|---|---|---|
fp16模式(推理和训练服务器) bf16模式(Atlas A2 训练系列产品、Atlas 800I A2 推理服务器) int8模式(
|
m |
A矩阵行 |
256 |
k |
A矩阵列,B矩阵行 |
32 |
|
n |
B矩阵列 |
128 |
|
int8模式(
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 |
支持的场景
算力测试支持的设备及场景如表3所示。(在下表中,Y表示支持,N表示不支持。)
场景/产品型号 |
|
Atlas A2 训练系列产品 |
Atlas 200/300/500 推理产品 |
Atlas 推理系列产品 |
Atlas 800I A2 推理服务器 |
Atlas 200I/500 A2 推理产品 |
---|---|---|---|---|---|---|
物理机 |
Y |
Y |
Y |
Y |
Y |
|
宿主机+容器 |
Y |
Y |
Y |
N |
||
虚拟机 |
N |
N |
- 仅Atlas 800 训练服务器(型号 9000)、Atlas 900 PoD(型号 9000)、Atlas 900T PoD Lite支持。
- 仅Atlas 300I 推理卡、Atlas 500 Pro 智能边缘服务器(型号 3000)、Atlas 200 AI加速模块(EP场景)支持。
- 仅Atlas 300I 推理卡、Atlas 500 Pro 智能边缘服务器(型号 3000)支持。
- 仅Atlas 300I Pro 推理卡、Atlas 300I Duo 推理卡、Atlas 300V Pro 视频解析卡、Atlas 300V 视频解析卡支持。
- 仅Atlas 200T A2 Box16 异构子框支持。
- 仅Atlas 300I Pro 推理卡、Atlas 300I Duo 推理卡、Atlas 300V Pro 视频解析卡、Atlas 300V 视频解析卡、Atlas 200I SoC A1 核心板支持。
测试前设置
- 由于昇腾AI处理器会预设性能阈值,建议在设备温度稳定并低于90℃的情况下进行算力测试,避免因设备温度过高触发主动降频功能,影响算力测试结果。
- 在执行算力测试前,建议提前在环境上安装fuser软件,以便Ascend DMI对NPU进程进行监测。
- 为了避免频繁输出日志影响测试结果,测试前确认Host和Device的日志级别设置为ERROR,确认及设置方法如下:
测试项参数查询
用户可任选以下指令之一查看算力测试命令的可用参数。
ascend-dmi -f -h
ascend-dmi -f --help
各参数解释如表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上运行矩阵乘法的执行次数。
|
否 |
[-fmt, --fmt, --format] |
指定输出格式,可以为normal或json。若未指定则默认为normal。 |
否 |
[-q, --quiet] |
指定该参数,将不再进行防呆提示,用户将默认允许该操作。
说明:
若不指定该参数,将进行防呆提示,用户需要输入Y或N(y或n)确认是否进行测试。 |
否 |
[-h, --help] |
查看Ascend DMI工具“算力测试”功能的帮助信息。 |
否 |
注:
|
- ascend-dmi -f后使用-d,--et等多个二级参数时,可任意指定这些参数的排列顺序,不影响命令结果输出。例如:ascend-dmi -f -d 2 --et 60和ascend-dmi -f --et 60 -d 2输出结果相同。
使用示例
- 推理场景以测试Device 2,指定算子运算类型默认为fp16,执行次数为6千万的算力为例。
若返回如图1所示信息,表示工具运行正常。
- 推理场景以测试Device 2,指定算子运算类型为int8,执行次数为6千万的算力为例。
ascend-dmi -f -t int8 -d 2 --et 60
若返回如图2所示信息,表示工具运行正常。
- 训练场景以测试Device 3,执行次数为8百万的算力为例。
若返回如图3所示信息,表示工具运行正常。
- 训练场景下,Atlas A2 训练系列产品以算力测试类型为hf32为例。
ascend-dmi -f -t hf32
若返回如图4所示信息,表示工具运行正常。
上述图中各类服务器参数介绍如表5所示。
参数 |
说明 |
---|---|
Device |
Device ID。 |
Execute Times |
|
Duration(ms) |
执行多次矩阵乘所耗费的时间。 |
TFLOPS@FP16 |
进行算力测试得到的算力值。FP16为指定的算子运行类型。 |
Power(W) |
满算力下的实时功率。
说明:
用户无需关注算力测试时芯片的功率,因为功耗数据是按周期采集,且前后两次采集之间存在时间间隔,当算力测试时间过短时,会出现功耗数据波动。功耗测试请使用更具针对性的功耗测试选项进行。 |
为保证返回检测结果的正确性和准确性,算力测试需要单独执行。