Function: malloc_host_with_cfg

Applicable Products

Product

Supported (√/x)

Ascend 950PR/Ascend 950DT

√

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

√

Description

Allocates host memory (page-locked memory). The system ensures that the start address of the memory is 64-byte aligned. Compared with the acl.rt.malloc_host API, this API can specify memory-related configuration when allocating memory.

For the Ascend RC form and Open Ctrl CPU form, the host and device are integrated. Therefore, allocating host memory is equivalent to allocating device memory. In addition, memory is allocated based on normal pages. If the start address needs to be 64-byte aligned, you need to handle the alignment problem by yourself.

Prototype

  • C Prototype
    1
    aclError aclrtMallocHostWithCfg(void **ptr, uint64_t size, aclrtMallocConfig *cfg)
    
  • Python Function
    1
    host_ptr, ret= acl.rt.malloc_host_with_cfg(size, cfg)
    

Parameters

Parameter

Description

size

Int, allocated memory size, in bytes. Must not be 0.

cfg

Dict, memory configuration. If no configuration is specified, an empty dictionary can be transferred. For details, see aclrtMallocConfig.

Return Values

Return Value

Description

host_ptr

Int, address of the pointer to the allocated host memory.

ret

Int, error code. 0 on success; else, failure.