获取指定属性的AscendCL应用可用内存的空闲大小和总大小,不包括系统预留内存大小。同步接口。
请根据实际硬件支持的情况,选择对应属性的内存,否则调用本接口获取到的空闲大小和总大小都为0。
调用本接口前是必须先指定用于计算的Device(例如调用aclrtSetDevice接口指定用于计算的Device),因此本接口中不体现Device ID。
aclError aclrtGetMemInfo(aclrtMemAttr attr, size_t *free, size_t *total)
参数名 |
输入/输出 |
说明 |
---|---|---|
attr |
输入 |
需要查询的内存的属性值。 typedef enum aclrtMemAttr { ACL_DDR_MEM, //DDR内存,DDR上所有大页内存+普通内存 ACL_HBM_MEM, //HBM内存,HBM上所有大页内存+普通内存 ACL_DDR_MEM_HUGE, //DDR大页内存 ACL_DDR_MEM_NORMAL, //DDR普通内存 ACL_HBM_MEM_HUGE, //HBM大页内存 ACL_HBM_MEM_NORMAL, //HBM普通内存 ACL_DDR_MEM_P2P_HUGE, //DDR中用于Device间数据复制的大页内存 ACL_DDR_MEM_P2P_NORMAL, //DDR中用于Device间数据复制的普通内存 ACL_HBM_MEM_P2P_HUGE, //HBM中用于Device间数据复制的大页内存 ACL_HBM_MEM_P2P_NORMAL, //HBM中用于Device间数据复制的普通内存 } aclrtMemAttr; |
free |
输出 |
对应属性内存空闲大小的指针,单位Byte。 |
total |
输出 |
对应属性内存总大小的指针,单位Byte。 |
返回0表示成功,返回其它值表示失败。