dcmi_get_hccsping_mesh_info
【免费下载链接】driver 本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。
项目地址: https://gitcode.com/cann/driver
函数原型
int dcmi_get_hccsping_mesh_info (int card_id, int device_id, int port_id, unsigned int task_id, struct dcmi_hccsping_mesh_info *hccsping_mesh_reply)
功能说明
查询ping mesh统计信息。
参数说明
参数名称 | 输入/输出 | 类型 | 描述 |
|---|
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值为2,当device_id为0或1时表示NPU芯片;当device_id为2时表示MCU芯片。
|
port_id | 输入 | int | 预留,NPU设备的网口端口号,当前仅支持配置0。 |
task_id | 输入 | int | 任务号,取值范围[0, 1]。与dcmi_start_hccsping_mesh传入的任务号对应。 |
hccsping_mesh_reply | 输出 | struct dcmi_hccsping_mesh_info * | 指定一个ping mesh常驻任务的统计信息,包含dst_addr、suc_pkt_num、fail_pkt_num、max_time、min_time、avg_time、tp95_time、reply_stat_num、ping_total_num、dest_num: struct dcmi_hccsping_mesh_info { char dst_addr[HCCS_PING_MESH_MAX_NUM][ADDR_MAX_LEN];//目的地址列表 unsigned int suc_pkt_num[HCCS_PING_MESH_MAX_NUM];//ping成功次数 unsigned int fail_pkt_num[HCCS_PING_MESH_MAX_NUM];//ping失败次数 long max_time[HCCS_PING_MESH_MAX_NUM];//ping最大时延 long min_time[HCCS_PING_MESH_MAX_NUM];//最小时延 long avg_time[HCCS_PING_MESH_MAX_NUM];//ping平均时延 long tp95_time[HCCS_PING_MESH_MAX_NUM];//ping时延TP95分位数 int reply_stat_num[HCCS_PING_MESH_MAX_NUM];//统计结果所用样本轮数 unsigned long long ping_total_num[HCCS_PING_MESH_MAX_NUM];//常驻任务开启以来ping的总轮数 int dest_num;//目的地址数量 };
说明:
- 输出的结构体中,目的地址在dst_addr的下标与ping该地址的统计结果在各个数组中的下标相同。例如,ping dst_addr[0]的成功次数是suc_pkt_num[0],失败次数是fail_pkt_num[0],以此类推。
- 当max_time、min_time、avg_time、tp95_time的值为-1时,表示对应目的地址未ping通。
|
返回值说明
异常处理
无。
约束说明
指定设备与目的设备的NPU驱动版本号需保持一致。
开启常驻任务后,需要等待1个task_interval(常驻任务轮询间隔)及1轮ping报文发送周期后(至少等待pkt_send_num * pkt_interval ms)才能查询到数据。
每次使用该接口读取的数据都是最新统计结果。
该接口支持在物理机+特权容器场景下使用。
表 1 不同部署场景下的支持情况
产品形态 | 物理机场景(裸机)root用户 | 物理机场景(裸机)运行用户组(非root用户) | 物理机+普通容器场景root用户 |
|---|
Atlas 900 A3 SuperPoD 超节点 | Y | N | N |
Atlas 9000 A3 SuperPoD 集群算力系统 | Y | N | N |
Atlas 800T A3 超节点 | Y | N | N |
Atlas 800I A3 超节点 | Y | N | N |
A200T A3 Box8 超节点服务器 | Y | N | N |
注:Y表示支持;N表示不支持;NA表示不涉及,当前未规划此场景。 |
调用示例
…
int ret = 0;
int card_id = 0;
int device_id = 0;
int port_id = 0;
unsigned int task_id = 0;
struct dcmi_hccsping_mesh_info hccsping_mesh_reply = {0};
ret = dcmi_get_hccsping_mesh_info (card_id, device_id, port_id, task_id, &hccsping_mesh_reply);
if (ret != 0){
//todo:记录日志
return ret;
}
…
【免费下载链接】driver 本项目是CANN提供的驱动模块,实现基础驱动和资源管理及调度等功能,使能昇腾芯片。
项目地址: https://gitcode.com/cann/driver
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考