跳到主要内容

aclopCreateKernel

aclopUnregisterCompileFunc

函数功能

动态Shape场景下,取消注册算子选择器。

函数原型

aclError aclopUnregisterCompileFunc(const char *opType)

参数说明

参数名输入/输出说明
opType输入算子类型的指针。

返回值说明

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

父主题: 算子编译

aclopCreateKernel

函数功能

动态Shape场景下,将算子注册到系统内部,运行算子时使用。

函数原型

aclError aclopCreateKernel(const char *opType,

const char *kernelId,

const char *kernelName,

void *binData,

int binSize,

aclopEngineType enginetype,

aclDataDeallocator deallocator)

参数说明

参数名输入/输出说明
opType输入算子类型的指针。
kernelId输入算子执行时要指定的Kernel ID的指针。
kernelName输入算子Kernel名称的指针,和算子二进制文件中的kernelName保持一致。
binData输入算子Kernel文件的内存地址指针。
binSize输入算子Kernel文件的内存大小,单位为Byte。
enginetype输入表示算子执行引擎。 text<br>typedef enum aclEngineType &#123;<br> ACL_ENGINE_SYS, //不关心具体执行引擎时填写<br> ACL_ENGINE_AICORE, //将算子编译成AI Core算子<br> ACL_ENGINE_VECTOR, //将算子编译成Vector Core算子<br>&#125; aclopEngineType;<br>
deallocator输入释放binData内存的回调函数,调用者根据binData的构造方法设置对应的释放函数。如果数据由调用者释放则设置为空。 函数签名为: typedef void (*aclDataDeallocator)(void *data, size_t length);

返回值说明

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

父主题: 算子编译

aclopSetKernelArgs

函数功能

动态Shape场景下,设置算子Tiling参数、执行并发数。

函数原型

aclError aclopSetKernelArgs(aclopKernelDesc *kernelDesc,

const char *kernelId,

uint32_t blockDim,

const void *args,

uint32_t argSize)

参数说明

参数名输入/输出说明
kernelDesc输入Kernel描述缓存,aclopKernelDesc类型的指针。
text<br>typedef struct aclopKernelDesc aclopKernelDesc;<br>
kernelId输入算子执行时要指定的Kernel ID的指针,与调用aclopCreateKernel时传递的kernelId一致。
blockDim输入Kernel执行的并发AI Core核数。 建议此处设置的blockDim和TIK算子实现时的使用的AI Core核数保持一致。
args输入Tiling参数的指针。
argSize输入Tiling参数内存大小,单位为Byte。

返回值说明

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

父主题: 算子编译

aclopSetKernelWorkspaceSizes

函数功能

动态Shape场景下,设置算子Workspace参数。为非必须接口,根据算子情况可选。

函数原型

aclError aclopSetKernelWorkspaceSizes(aclopKernelDesc *kernelDesc, int numWorkspaces, size_t *workspaceSizes)

参数说明

参数名输入/输出说明
kernelDesc输入Kernel描述缓存,aclopKernelDesc类型的指针。
text<br>typedef struct aclopKernelDesc aclopKernelDesc<br>
numWorkspaces输入Workspaces个数。
workspaceSizes输入Workspaces大小的数组地址指针。

返回值说明

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

父主题: 算子编译

在线提单