开发者
下载

aclrtLaunchKernelWithArgsArray

产品支持情况

产品

是否支持

Atlas 350 加速卡

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

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

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

功能说明

基于参数数组的方式传递核函数入参,并启动对应算子的计算任务。异步接口。

函数原型

1
aclError aclrtLaunchKernelWithArgsArray(void *func, uint32_t numBlocks, aclrtStream stream, aclrtLaunchKernelCfg *cfg, void **args)

参数说明

参数名

输入/输出

说明

func

输入

内核函数指针(可以是符号名或aclrtFuncHandle)。

numBlocks

输入

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

stream

输入

指定执行任务的Stream。类型定义请参见aclrtStream

cfg

输入

任务下发的配置信息。类型定义请参见aclrtLaunchKernelCfg

不指定配置时,此处可传NULL。

args

输入

参数数组指针。

参数数组中的每个元素均指向核函数参数数据在Host侧的内存地址。

返回值说明

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

约束说明

参数数组中的元素顺序需与核函数参数顺序保持一致,且参数数组大小需与核函数参数数量保持一致,否则会导致未定义行为。

参考资源

下表的几个接口都用于启用对应算子的计算任务,但功能和使用方式有所不同:

接口

核函数参数值的传入方式

核函数参数值的存放位置

是否可指定任务下发的配置信息

aclrtLaunchKernel

在接口中指定存放核函数所有入参数据的Device内存地址指针。

Device内存

aclrtLaunchKernelV2

在接口中指定存放核函数所有入参数据的Device内存地址指针。

Device内存

aclrtLaunchKernelWithConfig

在接口中指定参数列表句柄aclrtArgsHandle。

Host内存

aclrtLaunchKernelWithHostArgs

在接口中指定存放核函数所有入参数据的Host内存地址指针

Host内存

aclrtLaunchKernelWithArgsArray

在接口中指定存放核函数所有入参数据的参数数组,参数数组中的每个元素指向一个核函数参数数据。

Host内存