功耗测试

测试项功能

功耗测试是通过运行单算子模型来检测整卡的功耗信息。

注意事项

为了避免频繁输出日志影响测试结果,测试前确认Host和Device的日志级别设置为ERROR,确认及设置方法如下:

  1. 确认日志级别:
    • Host侧:通过执行echo $GLOBAL_LOG_LEVEL命令查询,如果查询结果为非法值或者空,表示日志级别为缺省级别ERROR,对应数值3。
    • Device侧:请参考CANN 6.3.RC2 日志参考的“附录>msnpureport工具使用”章节查看全局日志级别、模块日志级别和是否开启Event日志。
  2. 如果日志级别不为ERROR,请参考CANN 6.3.RC2 日志参考的“设置日志级别”章节设置Host和Device侧的日志级别。

测试项参数查询

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

ascend-dmi -p -h

ascend-dmi -p --help

各参数解释如表1所示。

表1 参数说明

参数

说明

是否必填

[-p, --power]

使用该参数进行整卡的功耗测试。

[-t, --type]

指定算子运算类型,可以为fp16或int8,若未指定则默认为fp16。

其中Atlas A2训练系列产品只支持指定为fp16。

[-dur, --dur, --duration]

指运行时间,若不填写运行时间则默认为600。

单位为秒,取值范围为[60, 604800]。

[-it, --it, --interval-times]

指屏幕信息打印刷新的间隔时间,若不填写间隔时间则默认为5。

单位为秒,取值范围为[1, 5]。

[-pm, --pm, --print-mode]

屏幕输出的打印模式,若不填写打印模式则默认为refresh。

打印模式:

  • refresh:每次打印清除历史打印信息。
  • history:打印保存历史信息。

  • 功耗数据是按周期采集,且前后两次采集之间存在时间间隔,因此小概率会出现未采集到实际功耗数据进而导致显示值偏低的情况。
  • 功耗测试有启动时间和退出时间,因此第一次和最后一次的回显信息会存在误差,属于正常现象。
  • 为保证返回检测结果的正确性和准确性,功耗测试需要单独执行。
  • 从运行成本考虑,功耗测试打印次数不一定与理论值相同。以功耗工具运行时间为60s,信息打印刷新的间隔为5s为例,理论上打印次数应为12次,实际次数会低于这个数值。
  • ascend-dmi -p后使用--dur,--it等多个二级参数时,可任意指定这些参数的排列顺序,不影响命令结果输出。例如:ascend-dmi -p --dur 60 --it 5 --pm refreshascend-dmi -p --it 5 --dur 60 --pm refresh输出结果相同。
  • 因int8模式下使用的是整数运算,相比于fp16的浮点数运算,会减少一部分运算单元,因此最终呈现出的功耗值将偏低。同时,硬件设备会预设性能阈值,fp16模式下容易达到阈值并触发主动降频、电压调节等保护机制,因此硬件设备功耗不会长时间超过阈值,int8模式下功耗偏低,未达到阈值情况下,不同硬件设备的功耗可能会出现明显差异。

使用实例

以下为各类服务器返回的功耗示例。

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

表2 显示界面参数说明

参数

说明

产品形态

Type

标卡型号

标卡

Card

卡ID号

Chip

芯片编号

Name

芯片名称

Type

芯片型号

训练服务器

Chip Name

芯片名称

NPU Count

NPU的个数

标卡、训练服务器

Power

当前整卡的实际功耗

Health

芯片健康程度

Temperature

芯片当前温度

Device ID

芯片设备号

AI Core Usage

芯片AI Core的使用率

Voltage

芯片当前电压