dcmi_get_pcie_link_bandwidth_info接口原型
函数原型
int dcmi_get_pcie_link_bandwidth_info (int card_id, int device_id, struct dcmi_pcie_link_bandwidth_info *pcie_link_bandwidth_info)
功能说明
查询指定采样时间内,NPU设备与host OS间PCIe带宽信息。
参数说明
参数名称 |
输入/输出 |
类型 |
描述 |
---|---|---|---|
card_id |
输入 |
int |
指定NPU管理单元的ID,当前实际支持的ID通过dcmi_get_card_list接口获取。 |
device_id |
输入 |
int |
指定设备编号,通过dcmi_get_device_id_in_card接口获取。 |
pcie_link_bandwidth_info |
输入/输出 |
dcmi_pcie_link_bandwidth_info |
struct dcmi_pcie_link_bandwidth_info { int profiling_time; //输入,控制采样时长 unsigned int tx_p_bw[AGENTDRV_PROF_DATA_NUM]; //输出,device设备向远端写带宽 unsigned int tx_np_bw[AGENTDRV_PROF_DATA_NUM]; //输出,device设备从远端读带宽 unsigned int tx_cpl_bw[AGENTDRV_PROF_DATA_NUM]; //输出,device设备回复远端读操作CPL的带宽 unsigned int tx_np_lantency[AGENTDRV_PROF_DATA_NUM]; //输出,device设备从远端读的延时(ns) unsigned int rx_p_bw[AGENTDRV_PROF_DATA_NUM]; //输出,device设备接收远端写的带宽 unsigned int rx_np_bw[AGENTDRV_PROF_DATA_NUM]; //输出,device设备接收远端读的带宽 unsigned int rx_cpl_bw[AGENTDRV_PROF_DATA_NUM]; //输出,device设备从远端读收到CPL回复的带宽 }; profiling_time范围为0ms~2000ms。 带宽单位均为MB/ms。 |
返回值
类型 |
描述 |
---|---|
int |
处理结果:
|
异常处理
无。
约束说明
Linux物理机 |
Linux物理机容器 |
|
---|---|---|
root用户 |
运行用户组(非root用户) |
root用户 |
N |
N |
N |
调用示例
… int ret = 0; int card_id = 0; int device_id = 0; struct dcmi_pcie_link_bandwidth_info bandwidth_info = {0}; bandwidth_info.profiling_time = 1000; ret = dcmi_get_pcie_link_bandwidth_info(card_id, device_id, &bandwidth_info); if (ret != 0){ //todo:记录日志 return ret; } …