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

CANN/atvoss加法运算符API文档

Add

【免费下载链接】atvossATVOSS(Ascend C Templates for Vector Operator Subroutines)是一套基于Ascend C开发的Vector算子库,致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss

功能说明

加法运算,支持张量+张量,张量+标量,标量+张量。

所属头文件链接

/include/operators/math_expression.h

函数原型

template<typename T, typename U> struct OpAdd : BinaryOp<T, U> template<typename T, typename U> __host_aicore__ constexpr auto operator+(Expression<T> lhs, Expression<U> rhs) template<typename T, typename U> __host_aicore__ constexpr auto operator+(Expression<T> lhs, U &&rhs) template<typename T, typename U> __host_aicore__ constexpr auto operator+(T &&lhs, Expression<U> rhs)

参数说明

参数名称参数类型输入/输出数据类型参数说明默认值
T模板参数输入NA加法左操作数数据类型NA
U模板参数输入NA加法右操作数数据类型NA
lhs函数形参输入NA加法左操作数,当类型是Expression<T>时,是张量,当类型是T时,是标量NA
rhs函数形参输入NA加法右操作数,当类型是Expression<U>时,是张量,当类型是U时,是标量NA

返回值说明

返回值数据类型返回值说明
Expression >返回一个OpAdd的表达式

约束说明

不支持广播

使用示例

template <typename InputDtype, typename OutputDtype> struct Config { struct Compute { template <template <typename> class Tensor> __host_aicore__ constexpr auto Compute() const { auto in1 = Atvoss::PlaceHolder<1, Tensor<InputDtype>, Atvoss::ParamUsage::IN>(); auto in2 = Atvoss::PlaceHolder<2, Tensor<InputDtype>, Atvoss::ParamUsage::IN>(); auto out = Atvoss::PlaceHolder<3, Tensor<OutputDtype>, Atvoss::ParamUsage::OUT>(); // 🔥🔥🔥 使用示例 🔥🔥🔥 return (out = in1 + in2); // 🔥🔥🔥 使用示例 🔥🔥🔥 }; }; }; template <typename InputDtype, typename OutputDtype> struct Config { struct Compute { template <template <typename> class Tensor> __host_aicore__ constexpr auto Compute() const { auto in = Atvoss::PlaceHolder<1, Tensor<InputDtype>, Atvoss::ParamUsage::IN>(); auto scalar = Atvoss::PlaceHolder<2, InputDtype, Atvoss::ParamUsage::IN>(); auto out = Atvoss::PlaceHolder<3, Tensor<OutputDtype>, Atvoss::ParamUsage::OUT>(); // 🔥🔥🔥 使用示例 🔥🔥🔥 return (out = in + scalar); // 🔥🔥🔥 使用示例 🔥🔥🔥 }; }; }; template <typename InputDtype, typename OutputDtype> struct Config { struct Compute { template <template <typename> class Tensor> __host_aicore__ constexpr auto Compute() const { auto in = Atvoss::PlaceHolder<1, Tensor<InputDtype>, Atvoss::ParamUsage::IN>(); auto scalar = Atvoss::PlaceHolder<2, InputDtype, Atvoss::ParamUsage::IN>(); auto out = Atvoss::PlaceHolder<3, Tensor<OutputDtype>, Atvoss::ParamUsage::OUT>(); // 🔥🔥🔥 使用示例 🔥🔥🔥 return (out = scalar + in); // 🔥🔥🔥 使用示例 🔥🔥🔥 }; }; };

【免费下载链接】atvossATVOSS(Ascend C Templates for Vector Operator Subroutines)是一套基于Ascend C开发的Vector算子库,致力于为昇腾硬件上的Vector类融合算子提供极简、高效、高性能、高拓展的编程方式。项目地址: https://gitcode.com/cann/atvoss

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

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

相关文章:

  • Oracle数据库开发最佳实践:构建高效、可维护的应用程序
  • CANN/pyasc Gatherb数据收集API
  • IEDM 2013深度解析:相变存储器的可靠性挑战与产业转向
  • 别把 SFT 里的 `packing` 当成白捡吞吐的开关:TRL 里 `bfd`、`bfd_split`、`wrapped` 真正卖掉的不是同一种东西
  • 62.RTOS调度原理
  • CANN/AMCT大模型Cast量化
  • CANN/sip信号处理加速库CalOperation
  • CANN/hixl LLM-DataDist数据结构
  • 6G时代零接触式普适AI即服务架构:融合区块链与DRL的自动化AI交付
  • cann/runtime其他接口API文档
  • 顶会论文模块复现与二次创新:二次创新:将 DETR 的查询式检测头蒸馏进 YOLOv11,打造混合式 Anchor-free 头
  • 模型诊断:从冲突集到命中集,构建高效故障定位系统
  • CANN/catlass Gemm/Block类模板概述
  • DeepEP V2 为什么值得做 MoE 的团队现在就关注?真正先拖慢吞吐的,不是专家数,而是 EP 通信还在抢 SM
  • 如何高效实现魔兽争霸3现代化兼容?WarcraftHelper实战指南
  • CANN/driver容器共享配置查询
  • CANN/cannbot-skills 模型审查专家代理
  • GD32中的DMA使用教程
  • HCOMM通信算子NPU环境测试
  • Kemptide (Phosphate Acceptor Peptide);LRRASLG
  • 【算法】小白也能懂 · 第 2 节:数组双指针技巧(快慢指针、左右指针)
  • CANN/atvoss向量算子库概述
  • 别再盲目自学 CTF!零基础专属入门完整路线,看完直接上手实战
  • 面向对象设计原则在Java开发中的应用
  • CANN/metadef GetAddr函数API文档
  • 可解释AI在膝骨关节炎诊断中的应用:从黑盒模型到临床可信赖的决策伙伴
  • 医疗生成式AI的伦理治理:GREAT PLEA框架下的公平、可靠与问责实践
  • CANN/tensorflow AOE调优配置
  • CANN/asc-devkit AllocTensor API
  • 遥感图像分类可解释AI方法:定量评估与工程实践指南