昇腾社区首页
中文
注册

RunCpuKernelAsync

功能说明

异步执行AI CPU算子Kernel的Compute函数。

函数原型

uint32_t RunCpuKernelAsync(CpuKernelContext &ctx, const uint8_t wait_type, const uint32_t wait_id, std::function<uint32_t()> cb)

参数说明

参数名

输入/输出

说明

ctx

输入

CpuKernel的上下文信息。

CpuKernelContext类型。

wait_type

输入

事件等待类型,取值为0或者1。

  • 0:关闭事件等待功能
  • 1:启用事件等待功能

注意:异步场景下需设置为1。

wait_id

输入

EventId,事件等待编号。

cb

输入

Compute后处理的回调函数。

返回值说明

uint32_t类型,表示RunCpuKernelAsync的执行结果。

  • 0:表示成功。
  • 非0:表示失败。

约束说明

调用示例

CpuKernelContext ctx;
uint8_t wait_type = 1;
uint32_t wait_id = 0;
uint32_t UpdateFWKOutputShape(const CpuKernelContext &ctx) const {
  // 更新具体的输出shape信息
  // ...
}
uint32_t ret = CpuKernelRegister::Instance().RunCpuKernel(ctx, wait_type, wait_id, [&, ctx]() { return UpdateFWKOutputShape(ctx); });