昇腾社区首页
中文
注册

dcmi_get_hccs_link_bandwidth_info接口原型

函数原型

int dcmi_get_hccs_link_bandwidth_info(int card_id, int device_id, struct dcmi_hccs_bandwidth_info *hccs_bandwidth_info)

功能说明

查询HCCS链路带宽。

参数说明

参数名称

输入/输出

类型

描述

card_id

输入

int

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

device_id

输入

int

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

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

hccs_bandwidth_info

输出

struct dcmi_hccs_bandwidth_info *

#define DCMI_HCCS_MAX_PCS_NUM 16

struct dcmi_hccs_bandwidth_info {

int profiling_time; //采样间隔时间,取值范围1~1000,单位ms

double total_txbw; //总发送数据带宽,单位GB/S

double total_rxbw; //总接收数据带宽,单位GB/S

double tx_bandwidth[DCMI_HCCS_MAX_PCS_NUM]; //单链路发送数据带宽,单位GB/S

double rx_bandwidth[DCMI_HCCS_MAX_PCS_NUM];//单链路接收数据带宽,单位GB/S

};

返回值

类型

描述

int

处理结果:

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

异常处理

无。

约束说明

表1 部署场景

Linux物理机

Linux物理机容器

root用户

运行用户组(非root用户)

root用户

N

N

N

调用示例

…
int id = 0;
int chipid = 0;
int ret;
struct dcmi_hccs_bandwidth_info hccs_bandwidth_info = {0};
hccs_bandwidth_info.profiling_time = 1000;//采样间隔时间
ret = dcmi_get_hccs_link_bandwidth_info(id, chipid, &hccs_bandwidth_info);
if (ret != 0) {
    return ret;
}
…