Function: release_mem_address

Applicability

Product

Supported (√/x)

Atlas A3 training products/Atlas A3 inference products

Atlas A2 training products/Atlas A2 inference products

Atlas training products

Atlas inference products

Atlas 200I/500 A2 inference products

Function Usage

Frees the virtual memory allocated by the acl.rt.reserve_mem_address call.

This API needs to work with other APIs to allocate virtual memory with consecutive addresses and maximize the use of physical memory.
  1. Call acl.rt.reserve_mem_address to allocate virtual memory.
  2. Call acl.rt.malloc_physical to allocate physical memory.
  3. Call acl.rt.map_mem to map the virtual memory to the physical memory.
  4. Call specific task APIs to execute tasks.
  5. Call acl.rt.unmap_mem to unmap the virtual memory from the physical memory.
  6. Call acl.rt.free_physical to free the physical memory.
  7. Call acl.rt.release_mem_address to free the virtual memory.

Prototype

  • C Prototype
    1
    aclError aclrtReleaseMemAddress(void *virPtr)
    
  • Python Function
    1
    ret = acl.rt.release_mem_address(vir_ptr)
    

Parameter Description

Parameter

Description

virPtr

Int, pointing to the address of the virtual address space to be freed.

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.

If the virtual memory is mapped to physical memory, you need to unmap them by calling acl.rt.unmap_mem before freeing the virtual memory.