CANN驱动PCIe信息查询API文档

dcmi_get_pcie_info

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

函数原型

int dcmi_get_pcie_info(int card_id, int device_id, struct dcmi_tag_pcie_idinfo *pcie_idinfo)

功能说明

查询芯片的PCIe(Peripheral Component Interconnect Express)信息。

参数说明

参数名称

输入/输出

类型

描述

card_id

输入

int

设备ID,当前实际支持的ID通过dcmi_get_card_num_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芯片。

pcie_idinfo

输出

struct dcmi_tag_pcie_idinfo *

PCIe信息。

struct dcmi_tag_pcie_idinfo{

unsigned int deviceid; //设备ID

unsigned int venderid; //厂商ID

unsigned int subvenderid; //厂商子ID

unsigned int subdeviceid; //设备子ID

unsigned int bdf_deviceid; //BDF(Bus,Device,Function)中的设备ID

unsigned int bdf_busid; //BDF(Bus,Device,Function)中的总线ID

unsigned int bdf_funcid; //BDF(Bus,Device,Function)中的功能ID

};

返回值说明

类型

描述

int

处理结果:

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

异常处理

无。

约束说明

该接口在后续版本将会删除,推荐使用dcmi_get_device_pcie_info

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

产品形态

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

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

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

Atlas 900 A3 SuperPoD 超节点

Y

Y

Y

Atlas 9000 A3 SuperPoD 集群算力系统

Y

Y

Y

Atlas 800T A3 超节点

Y

Y

Y

Atlas 800I A3 超节点

Y

Y

Y

A200T A3 Box8 超节点服务器

Y

Y

Y

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

调用示例

… 
int ret = 0;
int card_id = 0;
int device_id = 0;
struct dcmi_tag_pcie_idinfo pcie_idinfo = {0};
ret = dcmi_get_pcie_info(card_id, device_id, &pcie_idinfo);
if (ret != 0){
    //todo:记录日志
    return ret;
} 
…

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

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

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

抵扣说明:

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

余额充值