aclrtReserveMemAddress
函数功能
预留虚拟内存。
本接口需与以下其它接口配合使用,以便申请地址连续的虚拟内存、最大化利用物理内存:
- 申请虚拟内存(aclrtReserveMemAddress接口);
- 申请物理内存(aclrtMallocPhysical接口);
- 将虚拟内存映射到物理内存(aclrtMapMem接口);
- 执行任务(调用具体的任务接口);
- 取消虚拟内存与物理内存的映射(aclrtUnmapMem接口);
- 释放物理内存(aclrtFreePhysical接口);
- 释放虚拟内存(aclrtReleaseMemAddress接口)。
约束说明
Ascend RC形态不支持调用本接口。
函数原型
aclError aclrtReserveMemAddress(void **virPtr, size_t size, size_t alignment, void *expectPtr, uint64_t flags)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
virPtr |
输出 |
“已分配的虚拟内存地址的指针”的指针。 |
size |
输入 |
虚拟内存大小,单位Byte。 size不能为0。 |
alignment |
输入 |
虚拟地址对齐值,预留,当前只能设置为0。 |
expectPtr |
输入 |
指定期望返回的虚拟内存起始地址,预留,当前只能传nullptr。 |
flags |
输入 |
大页/普通页标志,此处的标志需与aclrtMallocPhysical接口的内存类型保持一致。 参数取值如下:
|
返回值说明
返回0表示成功,返回其他值表示失败。
父主题: 内存管理