aclopCompileAndExecuteV2

产品支持情况

产品

是否支持

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas 200/300/500 推理产品

功能说明

编译并执行指定的算子,当前只支持固定Shape的算子。每个算子的输入、输出、属性不同,AscendCL根据optype、输入tensor的描述、输出tensor的描述、attr等信息查找对应的任务,并下发执行,因此在调用本接口时需严格按照算子输入、输出、属性来组织算子。

在编译执行算子前,可以调用aclSetCompileopt接口设置编译选项。

函数原型

aclError aclopCompileAndExecuteV2(const char *opType,
int numInputs,
aclTensorDesc *inputDesc[],
aclDataBuffer *inputs[],
int numOutputs,
aclTensorDesc *outputDesc[],
aclDataBuffer *outputs[],
aclopAttr *attr,
aclopEngineType engineType,
aclopCompileType compileFlag,
const char *opPath,
aclrtStream stream)

参数说明

参数名

输入/输出

说明

opType

输入

算子类型名称的指针。

numInputs

输入

算子输入tensor的数量。

inputDesc

输入

算子输入tensor描述的指针数组。

需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。

inputDesc数组中的元素个数必须与numInputs参数值保持一致,且inputs数组与inputDesc数组中的元素必须一一对应。

inputs

输入

算子输入tensor的指针数组。

需提前调用aclCreateDataBuffer接口创建aclDataBuffer类型的数据。

inputs数组中的元素个数必须与numInputs参数值保持一致,且inputs数组与inputDesc数组中的元素必须一一对应。

numOutputs

输入

算子输出tensor的数量。

outputDesc

输入&输出

算子输出tensor描述的指针数组。

需提前调用aclCreateTensorDesc接口创建aclTensorDesc类型。

outputDesc数组中的元素个数必须与numOutputs参数值保持一致,且outputs数组与outputDesc数组中的元素必须一一对应。

outputs

输入&输出

算子输出tensor的指针数组。

需提前调用aclCreateDataBuffer接口创建aclDataBuffer类型的数据。

outputs数组中的元素个数必须与numOutputs参数值保持一致,且outputs数组与outputDesc数组中的元素必须一一对应。

attr

输入

算子属性的指针。

需提前调用aclopCreateAttr接口创建aclopAttr类型。

engineType

输入

算子执行引擎。

compileFlag

输入

算子编译标识。

opPath

输入

算子实现文件(*.py)路径的指针,不包含文件名。预留参数,当前仅支持设置为nullptr。

stream

输入

该算子需要加载的stream。

返回值说明

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

约束说明