C函数原型 |
aclError aclrtGetMemInfo(aclrtMemAttr attr, size_t *free, size_t *total) |
Python函数 |
free, total, ret = acl.rt.get_mem_info(attr) |
函数功能 |
获取指定属性的pyACL应用可用内存的空闲大小和总大小,不包括系统预留内存大小。 请根据实际硬件支持的情况,选择对应属性的内存,否则调用本接口获取到的空闲大小和总大小都为0。 |
输入说明 |
attr:int,需要查询的内存的属性值。
- 0:ACL_DDR_MEM,DDR内存,DDR上所有大页内存 + 普通内存。
- 1:ACL_HBM_MEM,片上内存,片上内存上所有大页内存 + 普通内存。
- 2:ACL_DDR_MEM_HUGE,DDR大页内存。
- 3:ACL_DDR_MEM_NORMAL,DDR普通内存。
- 4:ACL_HBM_MEM_HUGE,片上内存大页内存。
- 5:ACL_HBM_MEM_NORMAL,片上内存普通内存。
- 6:ACL_DDR_MEM_P2P_HUGE,DDR中用于Device间数据复制的大页内存。预留选项。
- 7:ACL_DDR_MEM_P2P_NORMAL,DDR中用于Device间数据复制的普通内存。预留选项。
- 8:ACL_HBM_MEM_P2P_HUGE,片上内存中用于Device间数据复制的大页内存。预留选项。
- 9:ACL_HBM_MEM_P2P_NORMAL,片上内存中用于Device间数据复制的普通内存。预留选项。
|
返回值说明 |
- free:int,对应属性的内存的空闲大小,单位Byte。
- total:int,对应属性的内存的总大小,单位Byte。
- ret:int,错误码。
|
约束说明 |
- 调用本接口前是必须先指定用于计算的Device(例如调用acl.rt.set_device接口指定用于计算的Device),因此本接口中不体现Device ID。
- 请根据实际硬件支持的情况,选择对应属性的内存,否则调用本接口获取到的空闲大小和总大小都为0。
该功能适用以下项: Atlas 200/300/500 推理产品 Atlas 训练系列产品 Atlas A2训练系列产品
- 由于Device上没有片上内存相关的内存,若指定查询片上内存相关内存,则pyACL系统内部自动转换为查询DDR相关内存,例如,若查询ACL_HBM_MEM,则pyACL系统内部实际查询ACL_DDR_MEM;若查询ACL_HBM_MEM_HUGE,则pyACL系统内部实际查询ACL_DDR_MEM_HUGE。
该功能适用于以下项: Atlas 200I/500 A2推理产品 Atlas 推理系列产品
|