aclrtLaunchSIMTKernelWithArgsArray
产品支持情况
产品 |
是否支持 |
|---|---|
√ |
|
☓ |
|
☓ |
|
☓ |
|
☓ |
|
☓ |
功能说明
基于参数数组的方式传递SIMT(Single Instruction Multiple Thread)核函数入参,并启动对应算子的计算任务。异步接口。
函数原型
1 | aclError aclrtLaunchSIMTKernelWithArgsArray(void *func, dim3 gridDim, dim3 blockDim, size_t dynUbufSize, aclrtStream stream, aclrtLaunchKernelCfg *cfg, void **args) |
参数说明
参数名 |
输入/输出 |
说明 |
|---|---|---|
func |
输入 |
核函数指针。 此处可以是__global__声明的核函数名(比如myKernel),也可以是aclrtFuncHandle类型的核函数句柄。 |
gridDim |
输入 |
线程块网格,由多个线程块(Thread Block)组成。Grid采用三维结构,其维度x、y和z分别表示不同维度下线程块的大小。类型定义请参见dim3。 |
blockDim |
输入 |
线程块(Thread Block),采用三维结构,其维度x、y和z分别表示线程块中三个维度的线程数。类型定义请参见dim3。 |
dynUbufSize |
输入 |
用于指定SIMT(Single Instruction Multiple Thread)算子执行时需要的UB(Unified Buffer,统一缓冲区)动态内存大小,单位Byte。若cfg中同时设置了ACL_RT_LAUNCH_KERNEL_ATTR_DYN_UBUF_SIZE属性,本参数值优先级更高。 |
stream |
输入 |
指定执行任务的Stream。类型定义请参见aclrtStream。 |
cfg |
输入 |
任务下发的配置信息。类型定义请参见aclrtLaunchKernelCfg。 不指定配置时,此处可传NULL。 |
args |
输入 |
参数数组指针。 参数数组中的每个元素均指向核函数参数数据在Host侧的内存地址。 |
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。
约束说明
参数数组中的元素顺序需与核函数参数顺序保持一致,且参数数组大小需与核函数参数数量保持一致,否则会导致未定义行为。
参考资源
各Launch接口的功能和使用方式对比请参见参考资源。