news 2026/5/9 14:01:32

CANN/pyasc AddRelu加法ReLU函数API

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/pyasc AddRelu加法ReLU函数API

asc.language.basic.add_relu

【免费下载链接】pyasc本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc

asc.language.basic.add_relu(dst: LocalTensor, src0: LocalTensor, src1: LocalTensor, count: int, is_set_mask: bool = True) → None

asc.language.basic.add_relu(dst: LocalTensor, src0: LocalTensor, src1: LocalTensor, mask: int, repeat_times: int, repeat_params: BinaryRepeatParams, is_set_mask: bool = True) → None

asc.language.basic.add_relu(dst: LocalTensor, src0: LocalTensor, src1: LocalTensor, mask: List[int], repeat_times: int, repeat_params: BinaryRepeatParams, is_set_mask: bool = True) → None

按元素求和,再进行Relu计算(结果和0对比取较大值)。

对应的Ascend C函数原型

template <typename T> __aicore__ inline void AddRelu(const LocalTensor<T>& dst, const LocalTensor<T>& src0, const LocalTensor<T>& src1, const int32_t& count);
template <typename T, bool isSetMask = true> __aicore__ inline void AddRelu(const LocalTensor<T>& dst, const LocalTensor<T>& src0, const LocalTensor<T>& src1, uint64_t mask[], const uint8_t repeatTimes, const BinaryRepeatParams& repeatParams);
template <typename T, bool isSetMask = true> __aicore__ inline void AddRelu(const LocalTensor<T>& dst, const LocalTensor<T>& src0, const LocalTensor<T>& src1, uint64_t mask, const uint8_t repeatTimes, const BinaryRepeatParams& repeatParams);

参数说明

  • dst:目的操作数。类型为LocalTensor,支持的TPosition为VECIN/VECCALC/VECOUT。
  • src0, src1:源操作数。类型为LocalTensor,支持的TPosition为VECIN/VECCALC/VECOUT。
  • count:参与计算的元素个数。
  • mask:用于控制每次迭代内参与计算的元素。
  • repeat_times:重复迭代次数。
  • params:控制操作数地址步长的参数。
  • is_set_mask: 是否在接口内部设置mask。

约束说明

  • 操作数地址对齐要求请参见 《Ascend C算子开发接口》 中的“通用说明和约束-通用地址对齐约束”。
  • 操作数地址重叠约束请参考 《Ascend C算子开发接口》 中的“通用说明和约束-通用地址重叠约束”。
  • 使用整个tensor参与计算接口符号重载时,运算量为目的LocalTensor的总长度。

调用示例

  • tensor高维切分计算样例-mask连续模式
    mask = 128 # repeat_times = 4,一次迭代计算128个数,共计算512个数 # dst_blk_stride, src0_blk_stride, src1_blk_stride = 1,单次迭代内数据连续读取和写入 # dst_rep_stride, src0_rep_stride, src1_rep_stride = 8,相邻迭代间数据连续读取和写入 params = asc.BinaryRepeatParams(1, 1, 1, 8, 8, 8) asc.add_relu(dst, src0, src1, mask=mask, repeat_times=4, repeat_params=params)
  • tensor高维切分计算样例-mask逐bit模式
    mask = [uint64_max, uint64_max] # repeat_times = 4,一次迭代计算128个数,共计算512个数 # dst_blk_stride, src0_blk_stride, src1_blk_stride = 1,单次迭代内数据连续读取和写入 # dst_rep_stride, src0_rep_stride, src1_rep_stride = 8,相邻迭代间数据连续读取和写入 params = asc.BinaryRepeatParams(1, 1, 1, 8, 8, 8) asc.add_relu(dst, src0, src1, mask=mask, repeat_times=4, repeat_params=params)
  • tensor前n个数据计算样例
    asc.add_relu(dst, src0, src1, count=512)

【免费下载链接】pyasc本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。项目地址: https://gitcode.com/cann/pyasc

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

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

Python与Godot引擎融合:py4godot插件实现高性能游戏脚本开发

1. 项目概述&#xff1a;当Python遇见Godot如果你是一位熟悉Python的开发者&#xff0c;同时又对Godot引擎的强大和开源特性着迷&#xff0c;那么你很可能有过这样的念头&#xff1a;要是能用Python来写Godot游戏逻辑就好了。GDScript固然优秀&#xff0c;但对于一个庞大的Pyth…

作者头像 李华
网站建设 2026/5/9 13:56:16

GeoAI:当人工智能技术赋能人文地理空间分析

1. 项目概述&#xff1a;当AI遇见人文地理最近几年&#xff0c;一个词在学术圈和产业界都越来越热&#xff1a;GeoAI。乍一听&#xff0c;它像是地理信息系统&#xff08;GIS&#xff09;和人工智能&#xff08;AI&#xff09;的简单拼接&#xff0c;但如果你真这么想&#xff…

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

数字幅度调制器原理与3dB耦合器应用解析

1. 数字幅度调制器原理概述数字幅度调制器(Digital Amplitude Modulator)是一种革命性的射频信号处理技术&#xff0c;它通过数字化手段实现了传统模拟调制难以企及的高线性度和高效率。这项技术的核心创新在于将模拟调制过程分解为离散的数字控制步骤&#xff0c;从而规避了传…

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

为 OpenClaw 工具配置 Taotoken 接入以实现自动化 AI 任务处理

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 为 OpenClaw 工具配置 Taotoken 接入以实现自动化 AI 任务处理 OpenClaw 是一款功能强大的自动化 AI 任务处理工具&#xff0c;它通…

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

XAI评估新范式:模块化与情境化验证框架的工程实践

1. 项目概述&#xff1a;为什么我们需要重新审视XAI评估&#xff1f;在医疗诊断、金融风控这些领域&#xff0c;一个AI模型说“我预测这位患者有80%的概率患有某种疾病”或者“我建议拒绝这笔贷款申请”时&#xff0c;我们作为开发者或使用者&#xff0c;心里总会多问一句&…

作者头像 李华
网站建设 2026/5/9 13:50:55

UVa 188 Perfect Hash

题目分析 本题要求为给定的单词列表构造一个完美哈希函数&#xff0c;函数形式为&#xff1a; ⌊Cw⌋ mod n \left\lfloor \frac{C}{w} \right\rfloor \bmod n ⌊wC​⌋modn 其中&#xff1a; www 是单词转换后的整数值&#xff08;转换规则&#xff1a;每个字母用 555 位表示…

作者头像 李华