CANN驱动DCMI网口统计接口

dcmi_get_extra_statistics_info

【免费下载链接】driver 本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。 【免费下载链接】driver 项目地址: https://gitcode.com/cann/driver

函数原型

int dcmi_get_extra_statistics_info(int card_id, int device_id, int port_id, struct dcmi_extra_statistics_info *info)

功能说明

查询网口扩展统计信息,支持查询端口链路状态以下计数:包含pcs err、纠前误码统计、纠后误码统计、未纠正误码统计。

参数说明

参数名称

输入/输出

类型

描述

card_id

输入

int

设备ID,当前实际支持的ID通过dcmi_get_card_list接口获取。

device_id

输入

int

芯片ID,通过dcmi_get_device_id_in_card接口获取。取值范围如下:

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

说明:

device_id_max值为1,当device_id为0时表示NPU芯片;当device_id为1时表示MCU芯片。

port_id

输入

int

NPU设备的网口端口号,当前仅支持配置0。

info

输出

struct dcmi_extra_statistics_info *

struct dcmi_extra_statistics_info {

unsigned long long cw_total_cnt; //码字总数

unsigned long long cw_before_correct_cnt; //码字纠前误码统计

unsigned long long cw_correct_cnt; //码字可纠误码统计

unsigned long long cw_uncorrect_cnt; //码字不可纠误码统计

unsigned long long cw_bad_cnt; //cw_bad事件次数

unsigned long long trans_total_bit; //传输的总bit数

unsigned long long cw_total_correct_bit; //码字可纠的总bit数

unsigned long long rx_full_drop_cnt; //接收方向buffer满后的丢包计数

unsigned long long pcs_err_cnt; //pcs层错误块计数

unsigned long long rx_send_app_good_pkts; //发送到APP侧的好帧总数,不包括fc-consumed-error帧。fc-consumed-error:MAC发送标记了abort的流控帧

unsigned long long rx_send_app_bad_pkts; //发送到APP侧的坏帧或fc-consumed-error帧总数

double correcting_bit_rate; //可纠比特率

};

返回值说明

类型

描述

int

处理结果:

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

异常处理

约束说明

对于Atlas 200T A2 Box16 异构子框、Atlas 800T A2 训练服务器、Atlas 800I A2 推理服务器、Atlas 900 A2 PoD 集群基础单元、A200I A2 Box 异构组件,该接口支持在物理机+特权容器场景下使用。

表 1 不同部署场景下的支持情况

产品形态

物理机场景(裸机)root用户

物理机场景(裸机)运行用户组(非root用户)

物理机+普通容器场景root用户

Atlas 900 A2 PoD 集群基础单元

Y

Y

Y

Atlas 800T A2 训练服务器

Y

Y

Y

Atlas 800I A2 推理服务器

Y

Y

Y

Atlas 200T A2 Box16 异构子框

Y

Y

Y

A200I A2 Box 异构组件

Y

Y

Y

Atlas 300I A2 推理卡

N

N

N

Atlas 300T A2 训练卡

Y

Y

Y

注:Y表示支持;N表示不支持;NA表示不涉及,当前未规划此场景。

调用示例

…  
int ret = 0; 
int card_id = 0; 
int device_id = 0; 
int port_id = 0;
struct dcmi_extra_statistics_info info = {0}; 
ret = dcmi_get_extra_statistics_info (card_id, device_id, port_id, &info); 
if (ret != 0){
     //todo:记录日志
     return ret;
} 
…

【免费下载链接】driver 本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。 【免费下载链接】driver 项目地址: https://gitcode.com/cann/driver

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值