---
title: aclopExecute
description: "此接口后续版本会废弃，请使用aclopExecuteV2接口。"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgc/aclcppdevg_03_0629.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgc/aclcppdevg_03_0629.html
indexId: f357689d27c1a38922876b2cc0a4815f3779e9583b0877646c3ae05e54ab596a105
---
# aclopExecute

此接口后续版本会废弃，请使用aclopExecuteV2接口。


#### 函数功能

异步执行指定的算子。


#### 约束说明

多线程场景下，不支持调用本接口时指定同一个Stream或使用默认Stream，否则可能任务执行异常。

每个算子的输入、输出组织不同，需要应用在调用时严格按照算子输入、输出参数来组织算子。用户在调用aclopExecute接口时，AscendCL根据optype、输入tensor的描述、输出tensor的描述、attr等信息查找对应的任务，并下发执行。


#### 函数原型

aclError aclopExecute(const char *opType,

int numInputs,

const aclTensorDesc *const inputDesc[],

const aclDataBuffer *const inputs[],

int numOutputs,

const aclTensorDesc *const outputDesc[],

aclDataBuffer *const outputs[],

const aclopAttr *attr,

aclrtStream stream)


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| opType | 输入 | 算子类型名称的指针。 |
| numInputs | 输入 | 算子输入tensor的数量。 |
| inputDesc | 输入 | 算子输入tensor描述的指针数组。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。 inputDesc数组中的元素个数必须与numInputs参数值保持一致，且inputs数组与inputDesc数组中的元素必须一一对应。 |
| inputs | 输入 | 算子输入tensor的指针数组。 需提前调用aclCreateDataBuffer接口创建aclDataBuffer类型的数据。 inputs数组中的元素个数必须与numInputs参数值保持一致，且inputs数组与inputDesc数组中的元素必须一一对应。 |
| numOutputs | 输入 | 算子输出tensor的数量。 outputDesc数组中的元素个数必须与numOutputs参数值保持一致。 |
| outputDesc | 输入 | 算子输出tensor描述的指针数组。 需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。 outputDesc数组中的元素个数必须与numOutputs参数值保持一致，且outputs数组与outputDesc数组中的元素必须一一对应。 |
| outputs | 输出 | 算子输出tensor的指针数组。 需提前调用aclCreateDataBuffer接口创建aclDataBuffer类型的数据。 outputs数组中的元素个数必须与numOutputs参数值保持一致，且outputs数组与outputDesc数组中的元素必须一一对应。 |
| attr | 输入 | 算子属性的指针。 需提前调用aclopCreateAttr接口创建aclopAttr类型。 |
| stream | 输入 | 该算子需要加载的stream。 |


#### 返回值说明

返回0表示成功，返回其它值表示失败。
