CANN/driver创建算力组API

📅 2026/7/4 6:00:33 👁️ 阅读次数 📝 编程学习
CANN/driver创建算力组API

dcmi_create_capability_group

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

函数原型

int dcmi_create_capability_group(int card_id, int device_id, int ts_id, struct dcmi_capability_group_info *group_info)

功能说明

创建昇腾虚拟化实例配置信息。

参数说明

参数名称

输入/输出

类型

描述

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_info

输入

struct dcmi_capability_group_info *

算力组信息。

算力信息结构体为:

#define DCMI_COMPUTE_GROUP_INFO_RES_NUM - AICORE_MASK_NUM 8

#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,创建重复失败。

返回值说明

类型

描述

int

处理结果:

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

异常处理

无。

约束说明

  • 仅Control CPU开放形态使用该接口。
  • 调用该接口前,请先调用dcmi_get_capability_group_info查询已配置的资源信息,结合ts_id参数的说明和group_info参数的约束说明进行配置,否则可能出现接口调用失败。如果需要删除已有配置,可以调用dcmi_delete_capability_group接口进行删除。

表 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 = {0}; group_info.group_id = 0; group_info.aivector_number = 255; group_info.sdma_number = 255; group_info.aicpu_number = 255; group_info.active_sq_number = 255; group_info.aicore_number = 8; ret = dcmi_create_capability_group(card_id, dev_id, ts_id, &group_info); if (ret != 0){ //todo:记录日志 return ret; } …

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

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