当前位置: 首页 > news >正文

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),仅供参考

http://www.jsqmd.com/news/785763/

相关文章:

  • CANN/ops-cv最近邻插值算子
  • CANN技术博客与最佳实践
  • 欧盟AI法案的秩序自由主义审视:从监管框架到治理哲学
  • 国产SCA工具崛起:Gitee CodePecker SCA如何重塑企业软件供应链安全格局
  • 从账单追溯功能看大模型API使用的透明性与可控性
  • 解码酒业营销价值重构,探讨酒企如何实现数字化动销升级
  • AI监管政策分析框架:从技术不确定性到全球治理的合规导航
  • 大语言模型驱动航天装配工艺自动化:从三维模型到结构化指令的智能生成
  • 自主AI与非自主AI:技术分野如何重塑劳动力市场与职业发展
  • CANN/hcomm通信通道创建API
  • 6个免费的降AI率的提示词,不花钱也能把论文AI率降到30%以内。
  • CANN PyPTO安全声明
  • 基于区块链的AI资产溯源:构建可信机器学习协作生态
  • CANN/pyasc加法ReLU类型转换API
  • CANN/pyto Pass模块功能总结
  • Python 爬虫高级实战:学术文献高效采集与整理
  • 利用Taotoken为内容生成平台动态选择高性价比模型
  • AI赋能优化算法:从LSTM、RL到GNN的智能选择与参数调优实践
  • CANN/ge: GE 图拆分特性分析
  • Docker化下载中心部署指南:集成Aria2、qBittorrent与Rclone的自动化方案
  • 使用curl命令快速测试Taotoken大模型API连通性与基础功能
  • CANN / pto-isa文档更新模式
  • 【新手放心进】Numpy 零基础超全入门教程,从安装到矩阵运算一站式学会
  • GE自定义算子IR实现开发指南
  • 数据就绪度:AI项目成功的隐形地基与可视化诊断实践
  • CEM算法出处 —— 交叉熵强化学习算法 —— 强化学习算法中经典的CEM算法
  • Python 爬虫高级实战:百亿级数据爬虫架构优化
  • 数字孪生与物联网安全:AI驱动的威胁检测与防御技术解析
  • 使用python在ubuntu上编写第一个调用taotoken多模型广场的脚本
  • CANN oam-tools运维工具集