news 2026/5/9 18:45:13

华为CANN/opbase OP_OUTSHAPE宏

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为CANN/opbase OP_OUTSHAPE宏

OP_OUTSHAPE

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

宏功能

针对需要计算结果来确定输出shape的算子,如NonZero算子,该宏用于存放此类算子输出shape的aclTensor。

宏原型

OP_OUTSHAPE(x...)

参数说明

参数输入/输出说明
x...输入包含两部分,第一个参数是存放输出tensor shape的aclTensor,第二个参数是存放需要更新输出shape的tensor索引。

约束说明

只支持存放一个输出tensor shape的Tensor(outShapeTensor), 其对应shape为(9*需要刷新的tensor个数,)。每个输出tensor的shape占9位,其中第一位表示维数,剩下8位表示具体的每个维度的具体值。

调用示例

// 表示算子将输出tensor的shape存放到outShapeTensor中,并且用来更新idx=0的输出tensor的shape OP_OUTSHAPE({outShapeTensor, 0}); // 刷新多个输出tensor的shape的时候,可以参考如下示例,本例中需要更新idx=0,3,4三个输出tensor的shape // host侧 Shape outShapeShape{27}; auto outShapeTensor = executor->AllocTensor(outShapeShape, DataType::DT_INT64, Format::FORMAT_ND); aclnnStatus ret = ADD_TO_LAUNCHER_LIST_AICORE( xxx, OP_INPUT(...), OP_OUTPUT(...), OP_ATTR(...), OP_OUTSHAPE({outShapeTensor, 0}), OP_OUTSHAPE({outShapeTensor, 3}), OP_OUTSHAPE({outShapeTensor, 4}), ); // kernel侧 __aicore__ inline void CopyOutShape(uint64_t dimNums1, uint64_t *dimNums2, uint64_t dimNums3) { LocalTensor<uint64_t> shapeTensor = shapeBuf_.Get<uint64_t>(); shapeTensor.SetValue(0, 1); // 第一个输出tensor的维度信息 shapeTesnor.SetValue(1, dimNums1); // 第一个输出tensor的第一维的shape值 shapeTensor.SetValue(9, 1); // 第二个输出tensor的维度信息 shapeTensor.SetValue(10, *(dimNums2)); // 第二个输出tensor的第一维的shape值 shapeTensor.SetValue(11, *(dimNums2+1)); // 第二个输出tensor的第二维的shape值 shapeTensor.SetValue(18, 1); // 第三个输出tensor的维度信息 shapeTesnor.SetValue(19, dimNums3); // 第三个输出tensor的第一维的shape值 ... DataCopyPad(...); }

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

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

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

Oumuamua-7b-RP真实作品:基于‘贵族女仆’设定的料理指导+生活关怀对话

Oumuamua-7b-RP真实作品&#xff1a;基于贵族女仆设定的料理指导生活关怀对话 1. 项目介绍 Oumuamua-7b-RP 是一款专为日语角色扮演对话设计的Web界面应用&#xff0c;基于Mistral-7B大语言模型架构开发。它能够模拟各种角色进行自然流畅的对话&#xff0c;特别适合创建沉浸式…

作者头像 李华
网站建设 2026/5/9 18:38:42

生成式AI社会风险评估:从技术原理到治理框架的实践指南

1. 生成式AI的社会技术风险全景&#xff1a;从技术原理到现实挑战生成式AI&#xff0c;特别是以GPT系列、Claude等为代表的大语言模型&#xff0c;已经从一个前沿研究课题&#xff0c;迅速演变为重塑信息生产、分发与消费方式的核心技术。作为一名长期关注信息检索与内容系统演…

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

无需复杂SDK,使用curl命令直接测试Taotoken大模型API连通性

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 无需复杂SDK&#xff0c;使用curl命令直接测试Taotoken大模型API连通性 在接入大模型服务时&#xff0c;有时我们并不需要立即编写…

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

基于马尔可夫链的AI音乐生成:从原理到MRCV项目实践

1. 项目概述&#xff1a;当AI遇见五线谱 如果你对音乐创作感兴趣&#xff0c;但又觉得乐理知识、和声学或者乐器演奏的门槛太高&#xff0c;那么AI辅助作曲可能是一个有趣的切入点。我自己作为一个半路出家的音乐爱好者和程序员&#xff0c;很长一段时间都在寻找一种方式&#…

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

AI增强型威胁响应框架:守护关键基础设施的智能防御体系

1. 项目概述&#xff1a;当关键基础设施遭遇数字攻击想象一下&#xff0c;一个繁忙的铁路调度中心&#xff0c;屏幕上跳动的信号灯突然全部熄灭&#xff1b;或者&#xff0c;一家大型医院的电子病历系统在急救手术中被锁定&#xff0c;医生无法调取病人的过敏史。这不再是科幻电…

作者头像 李华