aclmdlBundleInitFromMem

Applicable Products

Product

Supported

Ascend 950PR / Ascend 950DT

√

Atlas A3 training products / Atlas A3 inference products

√

Atlas A2 training products / Atlas A2 inference products

√

Atlas 200I/500 A2 inference products

√

Atlas inference products

√

Atlas training products

√

Function Usage

Initializes a model from the memory if variables need to be dynamically updated during model execution.

Prototype

1
aclError aclmdlBundleInitFromMem(const void* model, size_t modelSize, void *varWeightPtr, size_t varWeightSize, uint32_t *bundleId)

Parameters

Parameter

Input/Output

Description

model

Input

Pointer to the memory address for storing model data. The memory is managed by the user and cannot be freed during aclmdlBundleLoadModel loading.

The model file is built using the graph build API. Call aclgrphBundleBuildModel to compile the model, call aclgrphBundleSaveModel to save the model, and then load the saved .om model file into the memory. For details about the graph APIs, see "aclgrphBundleBuildModel" in the Graph Development.

modelSize

Input

Size of the model data in the memory, in bytes.

varWeightPtr

Input

Pointer to the address of the refreshable weight memory required by the model. The memory is managed by the user and cannot be freed during model execution.

If a null pointer is passed, the memory is managed by the system.

varWeightSize

Input

Size of the refreshable weight memory required by the model, in bytes. Invalid when varWeightPtr is a null pointer.

bundleId

Output

Bundle ID returned after the bundle model is successfully initialized. The bundle ID is used for model identification in subsequent operations.

Returns

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

Restrictions

In Ascend EP form, allocate memory on the host for the model parameter.

In Ascend RC form, allocate memory on the device for the model parameter.

In Open Ctrl CPU form, allocate memory on the device for the model parameter.

Example

For details about the API call sequence and sample code, see Weight Update (User-managed Memory).