CANN驱动获取设备PCIe信息v2

📅 2026/7/10 9:58:13 👁️ 阅读次数 📝 编程学习
CANN驱动获取设备PCIe信息v2

dcmi_get_device_pcie_info_v2

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

函数原型

int dcmi_get_device_pcie_info_v2(int card_id, int device_id, struct dcmi_pcie_info_all *pcie_info)

功能说明

获取指定设备的PCIe信息,包括PCIe domain域信息。

参数说明

参数名称

输入/输出

类型

描述

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]。

pcie_info

输出

struct dcmi_pcie_info_all *

PCIe信息

struct dcmi_pcie_info_all {

unsigned int venderid; //厂商ID

unsigned int subvenderid; //厂商子ID

unsigned int deviceid; //设备ID

unsigned int subdeviceid; //设备子ID

int domain; // pcie domain

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

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

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

unsigned char reserve[32];

};

返回值说明

类型

描述

int

处理结果:

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

异常处理

无。

约束说明

表 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 推理卡

Y

Y

Y

Atlas 300T A2 训练卡

Y

Y

Y

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

调用示例

… int ret; int card_id = 0; int device_id = 0; struct dcmi_pcie_info_all pcie_info = {0}; ret = dcmi_get_device_pcie_info_v2(card_id, device_id, &pcie_info); …

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

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