aclrtMallocWithCfg

Applicability

Product

Supported

Atlas 350 Accelerator Card

Atlas A3 training product/Atlas A3 inference product

Atlas A2 training product/Atlas A2 inference product

Atlas 200I/500 A2 inference product

Atlas inference product

Atlas training product

Description

Allocates linear memory of the size bytes on the device and returns the allocated memory pointer through *devPtr. The start address of the memory is 64-byte aligned.

Compared with aclrtMalloc, this API can also specify memory configuration information when allocating memory.

The memory allocated by this API must be freed by calling aclrtFree or aclrtFreeWithDevSync.

Prototype

1
aclError aclrtMallocWithCfg(void **devPtr, size_t size, aclrtMemMallocPolicy policy, aclrtMallocConfig *cfg)

Parameters

Parameter

Input/Output

Description

devPtr

Output

Pointer to the pointer to the allocated device memory.

size

Input

Requested allocation size in bytes.

The size cannot be 0.

policy

Input

Memory allocation policy. For details about the type definition, see aclrtMemMallocPolicy.

If the configured memory allocation policy is not within the value range of aclrtMemMallocPolicy, and the size is greater than or equal to 2 MB, the huge page memory is allocated; otherwise, the common page memory is allocated.

cfg

Input

Memory configuration. For details about the type definition, see aclrtMallocConfig.

If no configuration is specified, NULL can be passed.

Returns

0 on success; else, failure. For details, see aclError.