aclrtMemManagedGetAttrs

Note: This API is reserved and is not supported currently.

Function

Queries policy attribute values of the UVM of a specified size.

The memory operated by this API must be allocated using aclrtMemAllocManaged. If the queried memory range contains inconsistent policy attribute values, the result will be invalid.

Unlike the aclrtMemManagedGetAttr API, this API can query the values of multiple memory policy attributes at a time.

Prototype

1
aclError aclrtMemManagedGetAttrs(aclrtMemManagedRangeAttribute *attributes, size_t numAttributes, const void *ptr, size_t size, void **data, size_t *dataSizes)

Parameters

Parameter

Input/Output

Description

attributes

Input

Array of attributes to be queried. For details about the type definition, see aclrtMemManagedRangeAttribute.

numAttributes

Input

Size of the attribute array to be queried.

ptr

Input

Start address of the memory whose attributes are to be queried. The address range must be within the UVM memory range, that is, [0x90000000000ULL, 0x90000000000ULL + 3 TB).

size

Input

Size of the memory whose attributes are to be queried, in bytes. The value range is (0, 3 TB].

data

Output

Returned result array.

dataSizes

Input

Size of the memory for storing the returned result array, in bytes.

Returns

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