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表示成功,返回其它值表示失败。