aclopCompile

函数功能

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

约束说明

函数原型

aclError aclopCompile(const char *opType,

int numInputs,

const aclTensorDesc *const inputDesc[],

int numOutputs,

const aclTensorDesc *const outputDesc[],

const aclopAttr *attr,

aclopEngineType engineType,

aclopCompileType compileFlag,

const char* opPath)

参数说明

参数名

输入/输出

说明

opType

输入

算子类型名称的指针。

numInputs

输入

算子输入tensor的数量。

inputDesc

输入

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

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

inputDesc数组中的元素个数必须与numInputs参数值保持一致。

numOutputs

输入

算子输出tensor的数量。

outputDesc

输入

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

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

outputDesc数组中的元素个数必须与numOutputs参数值保持一致。

attr

输入

算子属性的指针。

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

engineType

输入

算子执行引擎。

compileFlag

输入

算子编译标识。

typedef enum aclCompileType {
    ACL_COMPILE_SYS,  //向GE、FE注册过的算子
    ACL_COMPILE_UNREGISTERED  //未向GE、FE注册的算子(需要使用py源文件编译算子)

} aclopCompileType;

opPath

输入

算子实现文件(*.py)的路径的指针,不包含文件名。

如果将compileFlag设置为ACL_COMPILE_UNREGISTERED时,需要设置opPath。

opPath只需要写到py文件所在的目录,不需要加上py文件名。可以写为绝对路径,也可以写为相对路径。当写为相对路径时,相对路径的父目录需配置到环境变量PYTHONPATH中。例如算子a.py放在绝对路径/A/B/C/下,opPath参数设置为相对路径./C时,则需要将/A/B加入到环境变量PYTHONPATH中。

返回值说明

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