news 2026/5/9 14:09:43

CANN/pyasc融合乘加API文档

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/pyasc融合乘加API文档

asc.language.basic.fused_mul_add

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

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

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

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

按元素将src0和dst相乘并加上src1,最终结果存放入dst。

对应的Ascend C函数原型

template <typename T> __aicore__ inline void FusedMulAdd(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 FusedMulAdd(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 FusedMulAdd(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.fused_mul_add(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.fused_mul_add(dst, src0, src1, mask=mask, repeat_times=4, repeat_params=params)
  • tensor前n个数据计算样例
    asc.fused_mul_add(dst, src0, src1, count=512)

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

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

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

当AI开始「嫌贫爱富」

GPT-5.5涨价三倍,SpaceX花600亿美元买一个编程工具。这两个新闻放在一起,揭示了一个被大多数人忽略的事实—— 不是AI越来越便宜,是AI市场正在剧烈撕裂。 如果你最近关注AI新闻,可能会有一种错觉:AI正在变得越来越便宜、越来越亲民。 DeepSeek V4开源免费,国产大模型卷出…

作者头像 李华
网站建设 2026/5/9 14:08:40

AI赋能结直肠癌诊断:从多模态数据融合到临床落地的技术实践

1. 项目概述&#xff1a;当AI遇见结直肠癌诊断作为一名在医疗影像和数字病理领域摸爬滚打了十多年的从业者&#xff0c;我亲眼见证了技术如何一步步改变临床诊断的图景。今天想和大家深入聊聊一个既前沿又接地气的领域&#xff1a;AI在结直肠癌诊断中的应用。这不仅仅是“计算机…

作者头像 李华
网站建设 2026/5/9 14:08:02

GTA5线上小助手:免费终极工具让你的洛圣都之旅更轻松

GTA5线上小助手&#xff1a;免费终极工具让你的洛圣都之旅更轻松 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools GTA5线上小助手是一款专门为《侠盗猎车手5》线上模式玩家设计的完全免费开源工具&#…

作者头像 李华
网站建设 2026/5/9 14:07:09

CANN/shmem算子泛化性测试框架说明

算子泛化性测试框架说明 【免费下载链接】shmem CANN SHMEM 是面向昇腾平台的多机多卡内存通信库&#xff0c;基于OpenSHMEM 标准协议&#xff0c;实现跨设备的高效内存访问与数据同步。 项目地址: https://gitcode.com/cann/shmem 1. 简介 本测试框架旨在为 Shmem 系列…

作者头像 李华
网站建设 2026/5/9 14:06:14

AI欺骗分析:从多智能体博弈到DAMAS防御框架的工程实践

1. 项目概述&#xff1a;当AI学会“说谎”&#xff0c;我们该如何应对&#xff1f;最近几年&#xff0c;我身边不少做多智能体系统&#xff08;Multi-Agent Systems, MAS&#xff09;和AI安全的朋友&#xff0c;都在讨论一个越来越无法回避的现象&#xff1a;我们训练出来的AI&…

作者头像 李华
网站建设 2026/5/9 14:06:06

基于LLM与Electron的CK3智能对话模组开发实战

1. 项目概述&#xff1a;当《十字军之王3》的宫廷开始“思考”如果你和我一样&#xff0c;是个策略游戏迷&#xff0c;同时又对AI技术充满好奇&#xff0c;那么“Voices of the Court”&#xff08;宫廷之声&#xff09;这个项目绝对会让你眼前一亮。简单来说&#xff0c;这是一…

作者头像 李华