dcmi_create_capability_group接口原型
函数原型
int dcmi_create_capability_group(int card_id, int device_id, int ts_id, struct dcmi_capability_group_info *group_info)
功能说明
创建昇腾虚拟化实例配置信息。
参数说明
参数名称 |
输入/输出 |
类型 |
描述 |
---|---|---|---|
card_id |
输入 |
int |
指定NPU管理单元ID,当前实际支持的ID通过dcmi_get_card_list接口获取。 |
device_id |
输入 |
int |
指定设备编号,通过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]; };
|
返回值
类型 |
描述 |
---|---|
int |
处理结果:
|
异常处理
无。
约束说明
- 仅Control CPU开放形态使用该接口。
- 调用该接口前,请先调用dcmi_get_capability_group_info接口原型查询已配置的资源信息,结合ts_id参数的说明和group_info参数的约束说明进行配置,否则可能出现接口调用失败。如果需要删除已有配置,可以调用dcmi_delete_capability_group接口原型接口进行删除。
- 不建议与dcmi_create_vdevice相关算力功能共用,共用情况有可能存在异常。
Linux物理机 |
Linux物理机容器 |
|
---|---|---|
root用户 |
运行用户组(非root用户) |
root用户 |
N |
N |
N |
调用示例
… 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; } …