本章中的接口涉及对算子的算子二进制、核函数、核函数参数列表以及参数的操作,为便于理解,您可以先通过下图了解它们之间的关系。
关键流程说明如下:
详细说明请参见AscendCL初始化与去初始化。
详细说明请参见运行管理资源申请与释放。
当前支持由系统管理内存(调用aclrtKernelArgsInit接口)、由用户管理内存(调用aclrtKernelArgsInitByUserMem接口)两种方式。
核函数参数列表中包含不同类型的参数,例如指针类型参数、placeholder、uint8_t类型参数等,其中:
不同类型参数,可调用不同的参数追加接口:
注意,核函数参数列表中,实际可能存在多个参数,并且不同类型的参数可能交错出现,因此需要按照参数列表中的参数顺序从左到右进行追加,追加的参数最多支持128个。
在所有参数追加之后,调用aclrtKernelArgsFinalize接口以标识参数组装完毕。但aclrtKernelArgsFinalize接口之后,也支持继续更新参数值,更新之后,还要再调用一次aclrtKernelArgsFinalize接口。
详细说明请参见运行管理资源申请与释放。
详细说明请参见AscendCL初始化与去初始化。