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

CANN/opbase:设置张量原始地址

aclSetRawTensorAddr

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

功能说明

刷新aclTensor中原始记录的Device内存地址,aclTensor由aclCreateTensor接口创建。

通常情况下,若网络需要频繁复用aclTensor(即保持shape、format等属性一致),可使用本接口刷新aclTensor原始的Device内存地址,达到复用的目的。

函数原型

aclnnStatus aclSetRawTensorAddr(aclTensor *tensor, void *addr)

参数说明

参数名输入/输出说明
tensor输入待刷新的aclTensor指针。
addr输入需要刷新到指定aclTensor中的Device存储地址,该地址必须32字节对齐,否则可能会出现未定义错误。

返回值说明

返回0表示成功,返回其他值表示失败,返回码列表参见公共接口返回码。

可能失败的原因:

  • 返回161001:参数tensor为空指针。

约束说明

  • 必须在一阶段接口aclxxXxxGetWorkspaceSize之前或者二阶段接口aclxxXxx之后使用,不支持在一阶段与二阶段接口之间使用。
  • 本接口可与aclGetRawTensorAddr接口配套使用,查看刷新后的结果是否符合预期。

调用示例

关键代码示例如下,仅供参考,不支持直接拷贝运行。

// 创建输入和输出张量inputTensor和outputTensor std::vector<int64_t> shape = {1, 2, 3}; aclTensor inputTensor = aclCreateTensor(shape.data(), shape.size(), aclDataType::ACL_FLOAT, nullptr, 0, aclFormat::ACL_FORMAT_ND, shape.data(), shape.size(), nullptr); aclTensor outputTensor = aclCreateTensor(shape.data(), shape.size(), aclDataType::ACL_FLOAT, nullptr, 0, aclFormat::ACL_FORMAT_ND, shape.data(), shape.size(), nullptr); // 调用Xxx算子一、二阶段接口 auto ret = aclxxXxxGetWorkspaceSize(inputTensor, outputTensor, &workspaceSize, &executor); ret = aclxxXxx(workspace, workspaceSize, executor, stream); ... void *addr1; void *addr2; ... //申请device内存addr1, addr2 ret = aclSetRawTensorAddr(inputTensor, addr1); // 刷新输入张量inputTensor的device地址 ret = aclSetRawTensorAddr(outputTensor, addr2); // 刷新输出张量outputTensor的device地址 ... // 复用inputTensor,outputTensor后,调用Yyy算子aclnn一、二阶段接口 auto ret = aclnnYyyGetWorkspaceSize(inputTensor, outputTensor, &workspaceSize, &executor); ret = aclnnYyy(workspace, workspaceSize, executor, stream); ...

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

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

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

相关文章:

  • CANN/ops-fft贡献指南
  • 20241223 2025-2026-2 《Python程序设计》实验三报告
  • 中国楼宇自控行业洗牌 楼宇自控厂家头部企业有谁?楼宇自控十大品牌 - 博客万
  • 网关支付 VS 纯代付:核心差异与适用场景
  • 影刀RPA如何实现店群自动化:拆解多浏览器并发,打造拼多多与TEMU的“超级航母”矩阵
  • AI专著生成新方法!借助工具,快速产出20万字高质量专著!
  • 一个老旧小区门禁改造项目的技术选型复盘:从云端到边缘
  • 亨得利腕表维修行业内部解密:假官方年骗1386起、保养套路大起底与全国官方直营网点联络大全 - 亨得利腕表维修中心
  • 加盟岩茶品牌,新手小白如何甄别真假“全程带教”?——以溪谷留香为样本的赋能体系深度解构 - 商业科技观察
  • 博客园优化折叠框
  • 为什么配置了Linux kernel以后.config文件没有起作用?
  • CANN/torchtitan-npu测试指南
  • CANN/hcomm引擎上下文复制
  • 2026年新疆票据印刷与热敏收银纸采购完全指南:源头直供降成本方案 - 优质企业观察收录
  • 3步掌握开源游戏加速:OpenSpeedy高效配置完全指南
  • 魔兽争霸3终极兼容性修复指南:5个简单步骤让经典游戏在Windows 11完美运行
  • 2026年水刀配件采购全攻略:从成都源头厂家到一站式解决方案 - 企业名录优选推荐
  • 江西菜代表品牌有哪些?2026年5大品牌实测推荐 - 速递信息
  • CANN/ops-cv最近邻上采样2D算子
  • ClaudeCode用户如何配置Taotoken解决API密钥被封与Token不足问题
  • 本地AI智能体平台搭建:基于Docker与Ollama的自动化工作流实践
  • QLoRA量化技术在日语技术文档处理中的应用实践
  • 盘活闲置沃尔玛购物卡,让每一笔钱都花在刀刃上 - 团团收购物卡回收
  • 2026耐火电力电缆品牌实测:优质厂家深度测评+工程采购避坑全指南 - 深度智识库
  • 盘活分期乐购物额度,轻松优化你的个人现金流 - 团团收购物卡回收
  • 2026年重庆留学机构哪家口碑最好?预算有限挑选攻略 - 速递信息
  • CANN/tensorflow NPURunConfig基础选项
  • CANN ops-math ConcatD算子
  • Windows驱动管理终极指南:DriverStore Explorer完整教程与实用技巧
  • 2025-2026-2 《Python程序设计》实验三报告