---
title: aclmdlRIBuildBegin
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclcppdevg_03_1851.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_1851.html
indexId: 8a4a65b246b82bbf49e4dabb4adb7585f7a814275d8d158bd5ffefafd6a7df3868
---
# aclmdlRIBuildBegin

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

开始构建一个模型运行实例。

在aclmdlRIBuildBegin接口之后，先调用aclmdlRIBindStream接口将模型运行实例与Stream绑定，接着在指定的Stream上下发任务，所有任务下发完成后，调用aclmdlRIEndTask接口在Stream上标记任务下发结束，随后调用aclmdlRIBuildEnd接口结束模型构建。此时，所有在指定Stream上下发的任务不会立即执行，只有在调用aclmdlRIExecute或aclmdlRIExecuteAsync接口执行模型推理时，这些任务才会被真正执行。

所有任务执行完毕后，如果不再使用模型运行实例，可调用aclmdlRIUnbindStream接口解除模型运行实例与Stream的绑定关系。可调用aclmdlRIDestroy接口及时销毁该资源。


#### 函数原型

```
aclError aclmdlRIBuildBegin(aclmdlRI *modelRI, uint32_t flag)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| modelRI | 输入 | 模型运行实例，该模型用于暂存所编译的任务。类型定义请参见aclmdlRI。 |
| flag | 输入 | 预留参数。当前固定配置为0。 |


#### 返回值说明

返回0表示成功，返回其他值表示失败，请参见aclError。
