news 2026/6/25 4:02:14

CANN/opbase AI CPU任务接口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/opbase AI CPU任务接口

aicpu_task

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

本章接口为预留接口,后续有可能变更或废弃,不建议开发者使用,开发者无需关注。

表 1接口列表

接口定义功能说明
PrintAicpuAllTimeStampInfo(const char *opType)打印AI CPU task执行时的系统时间戳。
AppendTensor(aclOpExecutorexecutor, const aclTensorarg, V &l)将aclTensor指针塞入到容器中的模板函数。
AppendTensor(aclOpExecutorexecutor, const aclScalararg, V &l)将aclScalar指针塞入到容器中的模板函数。
AppendTensor(aclOpExecutorexecutor, const aclIntArrayarg, V &l)将aclIntArray指针塞入到容器中的模板函数。
AppendTensor(aclOpExecutorexecutor, const aclTensorListarg, V &l)将aclTensorList指针塞入到容器中的模板函数。
CreateTensorListImpl(aclOpExecutor *executor, OpArg &arg, TensorList &l)从输入的args中创建Tensor列表模板函数。
CreateTensorList(aclOpExecutor *executor, OpArgList &t, TensorList &l)创建Tensor列表。
Append1Byte(uint8_t *buf, uint8_t src)向指定的buffer后再拼接一个字节。
AppendAttrForKey(const V &value, uint8_t *&key, size_t &keyLen)向task key字段中拼接属性信息的模板函数。
AppendAttrForKey(const std::string &value, uint8_t *&key, size_t &keyLen)向task key字段中拼接const string &属性信息的函数。
AppendAttrForKey(const std::stringvalue, uint8_t&key, size_t &keyLen)向task key字段中拼接const string指针属性信息的函数。
AppendAttrForKey(std::stringvalue, uint8_t&key, size_t &keyLen)向task key字段中拼接string 指针属性信息的函数。
AppendAttrForKey(const std::vector<V> &value, uint8_t *&key, size_t &keyLen)向task key字段中拼接vector属性信息的函数。
AppendAttrForKey(const aclIntArrayvalue, uint8_t&key, size_t &keyLen)向task key字段中拼接const aclIntArray属性信息的函数。
AppendAttrForKey(aclIntArrayvalue, uint8_t&key, size_t &keyLen)向task key字段中拼接aclIntArray属性信息的函数。
AppendAttrForKey(const aclFloatArrayvalue, uint8_t&key, size_t &keyLen)向task key字段中拼接const aclFloatArray属性信息的函数。
AppendAttrForKey(aclFloatArrayvalue, uint8_t&key, size_t &keyLen)向task key字段中拼接aclFloatArray属性信息的函数。
AppendAttrForKey(const aclBoolArrayvalue, uint8_t&key, size_t &keyLen)向task key字段中拼接const aclBoolArray属性信息的函数。
AppendAttrForKey(aclBoolArrayvalue, uint8_t&key, size_t &keyLen)向task key字段中拼接aclBoolArray属性信息的函数。
AddAicpuAttr(const aclIntArray *value, const std::string &attrName, AicpuAttrs &attrs)添加AI CPU属性字段。
AddAicpuAttr(aclIntArray *value, const std::string &attrName, AicpuAttrs &attrs)添加AI CPU属性字段。
AddAicpuAttr(const aclFloatArray *value, const std::string &attrName, AicpuAttrs &attrs)添加AI CPU属性字段。
AddAicpuAttr(aclFloatArray *value, const std::string &attrName, AicpuAttrs &attrs)添加AI CPU属性字段。
AddAicpuAttr(const aclBoolArray *value, const std::string &attrName, AicpuAttrs &attrs)添加AI CPU属性字段。
AddAicpuAttr(aclBoolArray *value, const std::string &attrName, AicpuAttrs &attrs)添加AI CPU属性字段。
AddAicpuAttr(const V &value, const std::string &attrName, AicpuAttrs &attrs)向AI CPU属性map中加入简单数据类型属性。
GetTid()获取当前工作的线程id。
aclnnAicpuFinalize()AI CPU模块去初始化函数。
CreatAicpuKernelLauncher(uint32_t opType, op::internal::AicpuTaskSpace &space, aclOpExecutorexecutor, const FVector<std::string> &attrNames, op::OpArgContextargs)创建AI CPU task下发对象。
AicpuTask()AicpuTask类默认的构造函数。
AicpuTask(const std::string &opType, const ge::UnknowShapeOpType unknownType)AicpuTask类的构造函数(带入参)。
AicpuTfTask(const std::string &opType, const ge::UnknowShapeOpType unknownType)AI CPU tensorflow算子框架task构造函数。
aclnnStatus Init(const FVector<const aclTensor> &inputs, const FVector<aclTensor> &outputs, const AicpuAttrs &attrs)算子框架task初始化函数。
aclnnStatus Run(aclOpExecutor *executor, aclrtStream stream)算子框架task执行函数。
AicpuTask(const std::string &opType, const ge::UnknowShapeOpType unknownType)AI CPU task构造函数。
AicpuCCTask(const std::string &opType, const ge::UnknowShapeOpType unknownType)AI CPU CANN算子框架task构造函数。
aclnnStatus SetIoTensors(aclOpExecutorexecutor, op::OpArgContextargs)刷新task的输入、输出地址。
void SetSpace(void *space)设置task所在的容器。
void SetVisit(bool visit)设置task是否被占用。
AicpuTaskSpace(const std::string &opType, const ge::UnknowShapeOpType unknownType = ge::DEPEND_IN_SHAPE, const bool isTf = false)AI CPU task容器构造函数。
AicpuTaskFindTask(aclOpExecutorexecutor, op::OpArgContextargs, const FVector<const aclTensor> &inputs)查找是否可复用的task。
AicpuTaskGetOrCreateTask(aclOpExecutorexecutor, const FVector<std::string> &attrNames, op::OpArgContext *args)获取新建或者复用的task。
void SetRef(const size_t index, const bool isInput = true)设置指定索引为引用类型输入。
bool IsRef(const size_t index, const bool isInput = true) const获取指定索引是否为引用类型输入。
uint64_t CalcHostInputDataSize(const FVector<const aclTensor *> &inputs, size_t alignBytes) const获取输入为host侧数据的总大小。
uint64_t CalcDeviceCacheSize(const FVector<const aclTensor *> &inputs, std::unique_ptr<AicpuTask> &aicpuTask) const计算device侧预留的内存大小。
void Clear()清理缓存的task。
static size_t GenHashBinary(const uint8_t *addr, uint32_t len)获取task哈希表键值种子。
size_t GenTaskKey(uint8_t inputKey[], size_t &keyLen, op::OpArgContextargs, const FVector<const aclTensor> &inputs) const生成task查找的key。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 22:45:35

SeCAM:融合Grad-CAM与LIME优势的可解释AI新方法

1. 项目概述&#xff1a;为什么我们需要“新”的可解释性&#xff1f;在图像分类任务里&#xff0c;模型预测的准确率早已不是唯一的衡量标准。一个能告诉你“为什么”的模型&#xff0c;其价值正变得和它“是什么”一样重要。想象一下&#xff0c;在医疗影像诊断中&#xff0c…

作者头像 李华
网站建设 2026/5/9 22:45:24

BUUCTF [SUCTF 2019]CheckIn1

一 查看标题和源码标题中文翻译过来是&#xff1a;办理入住。确实也联想不到什么&#xff0c;但是打开靶场可以看见显而易见是一道上传漏洞题目&#xff0c;也不需要看源码了&#xff08;一般不会在源码上给提示&#xff09;。我们可以先上传一个普通图片试试可以明显的看到上传…

作者头像 李华
网站建设 2026/5/9 22:41:29

法律AI应用场景拆解:从信息处理到预测分析的挑战与评估

1. 项目概述&#xff1a;AI在法律领域的真实图景与核心挑战最近几年&#xff0c;关于“AI律师”或“AI法官”的新闻标题总能吸引眼球&#xff0c;从声称能帮用户打官司的初创公司&#xff0c;到宣称能通过律师资格考试的大语言模型&#xff0c;似乎法律这个古老而严谨的行业即将…

作者头像 李华
网站建设 2026/5/9 22:37:35

DeepSeek V4 上线,Tabbit 更会干活了(限时白嫖 pro 会员)

大家好&#xff0c;这里是K姐。 一个帮助你把AI真正用起来的女子。 我把浏览器升级成 Tabbit 之后&#xff0c;AI 开始主动干活了。 友友们有没有这样的困扰&#xff0c;每天对着电脑查资料写东西&#xff0c;想用 AI 辅助一下&#xff0c;要先在密密麻麻的标签页里把 AI 网…

作者头像 李华
网站建设 2026/5/9 22:32:36

AI系统安全治理:从模型失准到多智能体冲突的实战应对

1. 项目概述&#xff1a;当AI不再是“听话”的工具最近和几个做AI安全的朋友聊天&#xff0c;大家不约而同地提到一个现象&#xff1a;以前我们担心AI“不够聪明”&#xff0c;现在开始担心它“太聪明”或者“聪明过头了”。这听起来有点矛盾&#xff0c;但恰恰是当前AI系统安全…

作者头像 李华