昇腾社区首页
中文
注册

函数:launch_kernel

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

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

Atlas 训练系列产品

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 200/300/500 推理产品

功能说明

启动对应Kernel的计算任务。仅支持Ascend C自定义算子。

函数原型

  • C函数原型
    1
    aclError aclrtLaunchKernel(aclrtFuncHandle funcHandle, uint32_t blockDim, const void *argsData, size_t argsSize, aclrtStream stream)
    
  • python函数
    1
    ret = acl.rt.launch_kernel(funcHandle, blockDim, argsData, argsSize, stream)
    

参数说明

参数名

说明

funcHandle

int,调用acl.rt.binary_get_function接口根据kernelName获取funcHandle。

blockDim

int,指定核函数将会在几个核上执行。

argsData

int,存放Kernel所有入参数据的Device内存地址指针。内存申请接口请参见内存管理

argsSize

int,argsData参数值的大小,单位为Byte。

stream

int,指定执行任务的Stream,可复用已创建的Stream节省资源或调用acl.rt.create_stream接口创建Stream,再作为入参在此处传入。

返回值说明

返回值

说明

ret

int,错误码,返回0表示成功,返回其它值表示失败。

约束说明

该接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,acl.rt.synchronize_stream)确保任务已执行完成。