CANN/opbase AI CPU参数处理器接口
aicpu_args_handler【免费下载链接】opbase本项目是CANN算子库的基础框架库为算子提供公共依赖文件和基础调度能力。项目地址: https://gitcode.com/cann/opbase本章接口为预留接口后续有可能变更或废弃不建议开发者使用开发者无需关注。表 1接口列表接口定义功能说明AicpuArgsHandler(const std::string opType, const std::string nodeName, const uint32_t ioNum, const bool needDeviceExt)AI CPU框架用于构造AI CPU opTask时的辅助类。opType_(opType)算子名称。nodeName_(nodeName)预留参数当前同算子名称。ioNum_(ioNum)算子的输入和输出个数之和。needDeviceExt_(needDeviceExt)标识是否需要分配额外device侧内存。args_({})与Runtime运行时交互的参数的对象用于计算任务下发。GetIoAddr()获取args内存中存放input/output地址的内存指针。get()获取智能指针管理的内存的首地址。GetExtInfoAddr()获取args中存放拓展参数的内存指针。GetArgs()获取指向args内存的指针。GetArgsEx()获取与Runtime运行时交互的对象的指针。GetNodeName()获取节点名称当前为算子名。GetIoNum()获取算子的输入和输出个数之和。GetHostInputSize()获取host侧输入的内存大小。GetInputAddrAlignBytes()获取指定的地址分配字节对齐参数。SetSpace(void *space)记录此Args handle归属于哪个算子空间。MallocMem()申请args的内存。ResetHostInputInfo()重置host侧输入的统计信息。AddHostInput(const size_t idx, void *data, const size_t srcSize, const size_t alignSize)记录host侧输入信息。UpdateIoAddr(const FVectorconst aclTensor inputs, const FVectoraclTensor outputs, const aclrtStream stream, aclOpExecutor *executor, const uint64_t deviceExtMemSize, const uint64_t deviceCacheOffset)更新args中的input、output的地址信息。AicpuArgsHandler()AI CPU框架用于构造AI CPU opTask时的辅助类。UpdateDeviceExtInfoAddr(void *deviceExtInfoAddr)更新device侧存储拓展参数的地址。SetLaunchArgs(const size_t argSize)设置args中参数大小。GetDeviceCacheAddr(voiddeviceAddr, aclOpExecutorexecutor, const uint64_t deviceCacheOffset)获取预留的device侧内存地址。AicpuCCArgsHandler(const std::string opType, const std::string nodeName, const uint32_t ioNum, const bool needDeviceExt)AI CPU CANN算子框架参数管理类。AicpuArgsHandler(opType, nodeName, ioNum, needDeviceExt)AI CPU框架用于构造AI CPU opTask时的辅助类。GenCCArgs(const FVectorconst aclTensor inputs, const FVectoraclTensor outputs, const AicpuAttrs attrs, std::string taskInfo)生成CANN算子args中nodedef及head信息。BuildCCArgs(const std::string argData, const std::string kernelName, const std::string soName, const size_t extInfoSize)封装CANN算子args中参数。SetHostArgs(const std::string argData, const size_t extInfoSize)设置args中内存的地址和长度信息。SetOffsetArgs()设置args中偏移值。AicpuTfArgsHandler(const std::string opType, const std::string nodeName, const uint32_t ioNum, const bool needDeviceExt)AI CPU Tensorflow算子框架参数管理类。GenTfArgs(const FVectorconst aclTensor inputs, const FVectoraclTensor outputs, const AicpuAttrs attrs, STR_FWK_OP_KERNEL fwkOpKernel, std::string taskInfo)生成CANN算子args中nodedef及head信息。BuildTfArgs(STR_FWK_OP_KERNEL fwkOpKernel, const std::string taskInfo, const size_t extInfoSize)封装Tensorflow算子args中参数。GenNodeDef(const FVectorconst aclTensor * inputs, const AicpuAttrs attrs, ge::Buffer nodeDefBytes)生成算子的描述符信息包含输入、输出的地址和shape等信息。UpdateKernelId()更新args中的Kernel字段用于匹配Device侧的Kernel Cache。【免费下载链接】opbase本项目是CANN算子库的基础框架库为算子提供公共依赖文件和基础调度能力。项目地址: https://gitcode.com/cann/opbase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考