下载
中文
注册

dcmi_get_device_utilization_rate接口原型

函数原型

int dcmi_get_device_utilization_rate(int card_id, int device_id, int input_type, unsigned int *utilization_rate)

功能说明

获取芯片占用率。

参数说明

参数名称

输入/输出

类型

描述

card_id

输入

int

指定NPU管理单元的ID,当前实际支持的ID通过dcmi_get_card_list接口获取。

device_id

输入

int

指定设备编号,通过dcmi_get_device_id_in_card接口获取。取值范围如下:

NPU芯片:[0, device_id_max-1]。

input_type

输入

int

设备类型,数值和具体设备类型对应如下:

  • 1:内存
  • 2:AI CORE
  • 3:AI CPU
  • 4:控制CPU
  • 5:内存带宽
  • 6:片上内存
  • 8:DDR
  • 10:HBM带宽
  • 12:vector core
  • 13:NPU整体利用率

当前支持1、2、3、4、5、12这几种类型。

utilization_rate

输出

unsigned int *

处理器利用率,单位:%。

返回值

类型

描述

int

处理结果:

  • 成功:返回0。
  • 失败:返回码请参见返回码

异常处理

无。

约束说明

表1 部署场景

Linux物理机

Linux物理机容器

root用户

运行用户组(非root用户)

root用户

Y

Y

Y

调用示例

… 
int ret = 0;
int card_id = 0x3;
int device_id = 0;
unsigned int utilization_rate = 0;
int input_type = DCMI_UTILIZATION_RATE_DDR;
ret = dcmi_get_device_utilization_rate(card_id, device_id, input_type, &utilization_rate);
if (ret != 0){
    //todo:记录日志
    return ret;
}
…