昇腾社区首页
中文
注册

dcmi_get_device_memory_info_v3接口原型

函数原型

int dcmi_get_device_memory_info_v3(int card_id, int device_id, struct dcmi_get_memory_info_stru *memory_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]。

memory_info

输出

struct dcmi_get_memory_info_stru*

返回内存信息,内存信息结构体:

struct dcmi_get_memory_info_stru {

unsigned long long memory_size; //内存大小, 单位MB

unsigned long long memory_available; //可用内存大小,计算方法:free + hugepages_free * hugepagesize

unsigned int freq; //频率 MHz

unsigned long hugepagesize; //大页的大小,单位KB

unsigned long hugepages_total; //总大页数量

unsigned long hugepages_free; //可用大页数量

unsigned int utiliza; //DDR内存的使用量

unsigned char reserve[60]; //保留

};

返回值

类型

描述

int

处理结果:

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

异常处理

无。

约束说明

表1 部署场景

Linux物理机

Linux物理机容器

root用户

运行用户组(非root用户)

root用户

Y

Y

Y

调用示例

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