CANN/driver获取能力组信息API
2026/5/9 13:55:39 网站建设 项目流程

dcmi_get_capability_group_info

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

函数原型

int dcmi_get_capability_group_info(int card_id, int device_id, int ts_id, int group_id, struct dcmi_capability_group_info *group_info, int group_count)

功能说明

获取昇腾虚拟化实例配置信息。

参数说明

参数名称

输入/输出

类型

描述

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

ts_id

输入

int

算力类型ID:

typedef enum {

DCMI_TS_AICORE = 0,

DCMI_TS_AIVECTOR,

} DCMI_TS_ID;

目前不支持DCMI_TS_AIVECTOR

group_id

输入

int

算力组ID,范围:[0, 3]或者-1。当group_id为-1时获取所有的group信息。

group_info

输出

struct dcmi_capability_group_info*

算力组信息。

算力信息结构体为:

#define DCMI_COMPUTE_GROUP_INFO_RES_NUM

#define DCMI_AICORE_MASK_NUM 2

struct dcmi_capability_group_info {

unsigned int group_id;

unsigned int state;

unsigned int extend_attribute;

unsigned int aicore_number;

unsigned int aivector_number;

unsigned int sdma_number;

unsigned int aicpu_number;

unsigned int active_sq_number;

unsigned int aicore_mask [DCMI_AICORE_MASK_NUM];

unsigned int res[DCMI_COMPUTE_GROUP_INFO_RES_NUM - DCMI_AICORE_MASK_NUM];

};

  • group_id表示算力组ID,全局唯一。可配置范围:0~3。
  • state表示算力组创建状态。0: not created, 1: created。
  • extend_attribute表示默认昇腾虚拟化实例标志,1:系统默认使用该昇腾虚拟化实例,其他值表示不使用该昇腾虚拟化实例为默认组,缺省值:0。
  • aicore_number表示算力组的aicore数量。
  • aivector_number、sdma_number、aicpu_number、active_sq_number分别表示aivector、sdma、aicpu、active资源数量,目前会返回255,表示当前资源为共享资源,不支持切分。
  • aicore_mask表示aicore的编号掩码,其中每个bit表示一个core。1:该算力组内aicore,0:非算力组内aicore。
  • res表示预留参数。

group_count

输入

int

参数group_info的数组长度。

在group_id为-1时,group_count需要不小于4。

返回值说明

类型

描述

int

处理结果:

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

异常处理

无。

约束说明

仅Control CPU开放形态使用该接口。

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

产品形态

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

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

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

Atlas 900 A2 PoD 集群基础单元

N

N

N

Atlas 800T A2 训练服务器

N

N

N

Atlas 800I A2 推理服务器

N

N

N

Atlas 200T A2 Box16 异构子框

N

N

N

A200I A2 Box 异构组件

N

N

N

Atlas 300I A2 推理卡

N

N

N

Atlas 300T A2 训练卡

N

N

N

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

调用示例

… int ret = 0; int card_id = 0; int dev_id = 0; int ts_id = 0; struct dcmi_capability_group_info group_info[4] = {0}; ret = dcmi_get_capability_group_info(card_id, dev_id, ts_id, -1, group_info, 4); if (ret != 0){ //todo:记录日志 return ret; } …

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询