Function: map_mem
Applicability
Product |
Supported (√/x) |
|---|---|
√ |
|
√ |
|
√ |
|
√ |
|
√ |
Function Usage
Maps virtual memory to physical memory.
- Call acl.rt.reserve_mem_address to allocate virtual memory.
- Call acl.rt.malloc_physical to allocate physical memory.
- Call acl.rt.map_mem to map the virtual memory to the physical memory.
- Call specific task APIs to execute tasks.
- Call acl.rt.unmap_mem to unmap the virtual memory from the physical memory.
- Call acl.rt.free_physical to free the physical memory.
- Call acl.rt.release_mem_address to free the virtual memory.
Prototype
- C Prototype
1aclError aclrtMapMem(void *virPtr, size_t size, size_t offset, aclrtDrvMemHandle handle, uint64_t flags)
- Python Function
1ret = acl.rt.map_mem(vir_ptr, size, offset, handle, flags)
Parameter Description
Parameter |
Description |
|---|---|
vir_ptr |
Int, virtual address to be mapped. The address may not be the start address. You can also offset the address based on the start address and then map the address. |
size |
Int, size of the memory to be mapped, in bytes. This size must be the same as that of the size parameter of acl.rt.malloc_physical. It must also be aligned with ACL_RT_MEM_ALLOC_GRANULARITY_MINIMUM obtained by acl.rt.mem_get_allocation_granularity. |
offset |
Int, physical memory offset. It can only be set to 0 currently. |
handle |
Int, physical memory pointer address. A virtual address segment reserved by using the acl.rt.reserve_mem_address API is managed and allocated by the user and cannot be bound to the physical addresses allocated on two devices at the same time. A virtual address segment reserved by using the acl.rt.reserve_mem_address API is managed and divided by the user. It cannot be bound to the handle output by the acl.rt.malloc_physical and acl.rt.mem_import_from_shareable_handle APIs at the same time. |
flags |
Int, reserved. Currently, this parameter can only be set to 0. |
Return Value Description
Return Value |
Description |
|---|---|
ret |
Int, error code: 0 on success; else, failure. |
Restrictions
This API is not supported in the Ascend RC form.