aclrtReserveMemAddress
Applicability
|
Product |
Supported |
|---|---|
|
Atlas 350 Accelerator Card |
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
Description
Reserves virtual memory.
- Call aclrtReserveMemAddress to allocate virtual memory.
- Call aclrtMallocPhysical to allocate physical memory.
- Call aclrtMapMem to map the virtual memory to the physical memory.
- Call specific task APIs to execute tasks.
- Call aclrtUnmapMem to unmap the virtual memory from the physical memory.
- Call aclrtFreePhysical to free the physical memory.
- Call aclrtReleaseMemAddress to free the virtual memory.
Prototype
1
|
aclError aclrtReserveMemAddress(void **virPtr, size_t size, size_t alignment, void *expectPtr, uint64_t flags) |
Parameters
|
Parameter |
Input/Output |
Description |
|---|---|---|
|
virPtr |
Output |
Pointer to "the pointer to the allocated virtual memory address". |
|
size |
Input |
Virtual memory size, in bytes. Must not be 0. |
|
alignment |
Input |
Alignment value of the virtual address. This parameter is reserved and can only be set to 0. |
|
expectPtr |
Input |
Start address of the virtual memory to be returned.
The options are as follows:
|
|
flags |
Input |
Huge page/Common page flag. This parameter is reserved. The recommended value is 0. |
Returns
0 on success; else, failure. For details, see aclError.
Restrictions
- The Ascend RC form of
Atlas 200I/500 A2 inference product does not support this API.
- To use the virtual memory reserved by this API, only aclrtMemcpyAsync can be called to copy data between two devices in the single-process scenario.