CANN/opbase AicpuTask类API文档
2026/5/9 20:10:45 网站建设 项目流程

AicpuTask类

【免费下载链接】opbase本项目是CANN算子库的基础框架库,为算子提供公共依赖文件和基础调度能力。项目地址: https://gitcode.com/cann/opbase

AicpuTask类用于管理AI CPU task相关的一些参数和方法,包括组装task、task初始化、task下发、task执行等功能。

具体定义如下:

class AicpuTask { public: AicpuTask(const std::string &opType, const ge::UnknowShapeOpType unknownType) : opType_(opType), unknownType_(unknownType) {} virtual ~AicpuTask() = default; virtual aclnnStatus Init(const FVector<const aclTensor *> &inputs, const FVector<aclTensor *> &outputs, const AicpuAttrs &attrs) = 0; virtual aclnnStatus Run(aclOpExecutor *executor, aclrtStream stream) = 0; aclnnStatus SetIoTensors(aclOpExecutor *executor, op::OpArgContext *args); friend class AicpuTaskSpace; void SetSpace(void *space) { space_ = space; } void SetVisit(bool visit); protected: const std::string opType_; const ge::UnknowShapeOpType unknownType_; std::unique_ptr<AicpuArgsHandler> argsHandle_; std::unique_ptr<AicpuExtInfoHandler> extInfoHandle_; uint64_t launchId_ = 0U; uint64_t summaryItemId_ = 0U; void *space_ = nullptr; FVector<const aclTensor *> inputs_; FVector<aclTensor *> outputs_; // 长度可能不够,后续考虑长度可扩展 uint8_t inputKey_[kAicpuKeyBufLen] = {}; size_t keyLen_ = 0; bool isVisit_ = false; uint64_t deviceExtMemSize_ = 0; uint64_t deviceCacheOffset_ = 0; };

类成员属性的详细介绍请参考下表。

表 1AicpuTask类成员说明

属性名属性类型默认值属性说明
opType_const std::string""Task对应的AI CPU算子名。
UnknownType_const ge::UnknowShapeOpType0标识算子shape是基类,具体类型UnknowShapeOpType。
argsHandle_std::unique_ptr<AicpuArgsHandler>null管理task封装参数的对象。
extInfoHandle_std::unique_ptr<AicpuExtInfoHandler>null管理task封装拓展参数的对象。
launchId_uint64_t0用于profiling采集的任务下发id。
summaryItemId_uint64_t0用于统计条目的id。
space_void*null记录task属于哪个task管理集合。
inputs_FVector<const aclTensor *>nulltask对应算子的输入tensor指针列表。
outputs_FVector<const aclTensor *>nulltask对应算子的输出tensor指针列表。
inputKey_uint8_t [kAicpuKeyBufLen]0task对应的key字段。
keyLen_size_t0key字段长度。
isVisit_boolfalse当前task是否正被使用。
deviceExtMemSize_uint64_t0device侧预留的内存。
deviceCacheOffset_uint64_t0device侧预留内存的偏移。

【免费下载链接】opbase本项目是CANN算子库的基础框架库,为算子提供公共依赖文件和基础调度能力。项目地址: https://gitcode.com/cann/opbase

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询