cann/asc-devkit:MulAddDst复合计算API 📅 发布时间:2026/7/16 23:27:50 👁️ 浏览次数: # MulAddDst【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit产品支持情况Ascend 950PR/Ascend 950DT支持Atlas A3 训练系列产品/Atlas A3 推理系列产品不支持Atlas A2 训练系列产品/Atlas A2 推理系列产品不支持Atlas 200I/500 A2 推理产品不支持Atlas 推理系列产品 AI Core不支持Atlas 推理系列产品 Vector Core不支持Atlas 训练系列产品不支持功能说明头文件路径为basic_api/reg_compute/kernel_reg_compute_vec_binary_intf.h。该接口按元素将srcReg0与srcReg1相乘再加上dstReg根据mask将计算结果写入dstReg。计算公式如下$$ dstReg_i srcReg0_i \times srcReg1_i dstReg_i $$函数原型template typename T DefaultType, MaskMergeMode mode MaskMergeMode::ZEROING, typename U __simd_callee__ inline void MulAddDst(U dstReg, U srcReg0, U srcReg1, MaskReg mask)参数说明表1模板参数说明参数名描述T操作数数据类型。modeMaskMergeMode枚举类型。选择MERGING模式或ZEROING模式。• ZEROING模式下mask未筛选的元素在dstReg中置零。• MERGING模式当前不支持。U目的操作数和源操作数的RegTensor类型例如RegTensorhalf由编译器自动推导用户不需要填写。表2参数说明参数名输入/输出描述dstReg输出目的操作数。类型为RegTensor。计算前作为被乘数参与运算计算后存储结果。srcReg0输入源操作数。类型为RegTensor。数据类型需要与目的操作数保持一致。srcReg1输入源操作数。类型为RegTensor。数据类型需要与目的操作数保持一致。mask输入源操作数元素有效性的指示详细说明请参考MaskReg。返回值说明无数据类型表3数据类型组合srcReg0srcReg1dstRegint16_tint16_tint16_tuint16_tuint16_tuint16_thalfhalfhalfbfloat16_tbfloat16_tbfloat16_tint32_tint32_tint32_tuint32_tuint32_tuint32_tfloatfloatfloatint64_tint64_tint64_tuint64_tuint64_tuint64_t约束说明本接口支持寄存器重叠。本接口操作数为寄存器不涉及地址对齐。本接口不修改全局寄存器的值。关键特性说明对于非软仿实现的数据类型在硬件层面单条指令完成乘加融合计算精度高于分开执行Mul和Add。调用示例templatetypename T __simd_vf__ inline void MulAddDstVF(__ubuf__ T* dstAddr, __ubuf__ T* src0Addr, __ubuf__ T* src1Addr, uint32_t count, uint32_t oneRepeatSize, uint16_t repeatTimes) { AscendC::Reg::RegTensorT srcReg0; AscendC::Reg::RegTensorT srcReg1; AscendC::Reg::RegTensorT dstReg; AscendC::Reg::MaskReg mask; for (uint16_t i 0; i repeatTimes; i) { mask AscendC::Reg::UpdateMaskT(count); AscendC::Reg::LoadAlign(srcReg0, src0Addr i * oneRepeatSize); AscendC::Reg::LoadAlign(srcReg1, src1Addr i * oneRepeatSize); AscendC::Reg::LoadAlign(dstReg, dstAddr i * oneRepeatSize); AscendC::Reg::MulAddDst(dstReg, srcReg0, srcReg1, mask); AscendC::Reg::StoreAlign(dstAddr i * oneRepeatSize, dstReg, mask); } }【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
CANN/asc-devkit:AddrReg地址寄存器API AddrReg 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/ca… 2026/7/16 23:27:50
FPGA锁相环(PLL)原理与PG2L50H开发板实战配置 1. 锁相环在FPGA设计中的核心价值在RK3568PG2L50H这类异构计算平台上,FPGA的时钟管理能力直接决定了系统性能上限。Pango Design Suite提供的锁相环(PLL)资源,本质上是一个精密的数字频率合成器,它能将板载晶振的基准时… 2026/7/16 23:27:50
API开发必须关注的核心安全问题 不知道你有没有这种感觉:每次看到安全漏洞通报,心里都会咯噔一下,想着“这个漏洞我的API有没有?”然后赶紧去翻代码,结果发现好像没有,又好像有——那种模棱两可的感觉最折磨人。 API安全这东西,… 2026/7/16 23:21:48
Chat2DB 实战:从 ChatGPT 写 SQL 到专业 AI 数据库工具 关键词:Chat2DB、数据库管理工具、智能问数、AI SQL、Text2SQL 很多开发者第一次体验 AI 写 SQL,通常是从 ChatGPT 这类通用大模型开始的。输入一句自然语言需求,模型很快给出 SQL 示例,看起来很高效。 但在真实团队里࿰… 2026/7/17 0:48:28
OpenHarmony 权限统一封装 PermissionUtil(动态权限申请全套方案 API23+) 摘要鸿蒙将权限分为安装时静态权限与运行时动态敏感权限,相机、相册、文件、通知、位置等都必须动态申请,原生权限 API 重复代码多、缺少永久拒绝跳转设置页逻辑、无统一弹窗提示、未做权限状态判断封装。本文基于ohos.accessToken封装全局权限工具类&am… 2026/7/17 0:46:27
AI模型评估与基准测试:从GLUE到MMLU的演进 AI模型评估与基准测试:从GLUE到MMLU的演进模型评估是AI发展的基石。从早期的单一任务准确率到现代的综合能力基准,评估体系经历了根本性变革。本文将系统梳理NLP和通用AI评估基准的演进,分析各类评测的设计原理和局限性,帮助读者建… 2026/7/17 0:38:23
如何快速在OpenEuler上安装Qt6:5分钟搭建跨平台GUI开发环境 如何快速在OpenEuler上安装Qt6:5分钟搭建跨平台GUI开发环境 【免费下载链接】qt6 Qt6 meta package 项目地址: https://gitcode.com/openeuler/qt6 前往项目官网免费下载:https://ar.openeuler.org/ar/ 想要在OpenEuler上快速搭建跨平台GUI开发环… 2026/7/17 0:36:22
如何为ukui-themes贡献主题:社区参与与主题提交完整流程 如何为ukui-themes贡献主题:社区参与与主题提交完整流程 【免费下载链接】ukui-themes The theme collections of UKUI. 项目地址: https://gitcode.com/openeuler/ukui-themes 前往项目官网免费下载:https://ar.openeuler.org/ar/ ukui-themes是… 2026/7/17 0:36:22
HarmonyOS 应用开发《掌上英语》第17篇:声明式 UI 构建范式——ArkTS 的 @Builder 装饰器深入 声明式 UI 构建范式——ArkTS 的 Builder 装饰器深入引言 在 HarmonyOS 的 ArkTS 声明式 UI 框架中,Builder 装饰器是一个极其重要的构建工具。它允许开发者将 UI 片段封装为可复用的构建函数,从而避免在 build() 方法中编写臃肿的嵌套代码。本文将通过我… 2026/7/17 0:34:20
【WPS AI表格避坑白皮书】:实测发现87%用户正在误用AI函数——这5个致命错误导致结果偏差超42% 更多请点击: https://intelliparadigm.com 第一章:WPS AI表格的核心能力与适用边界 WPS AI表格将大语言模型能力深度集成于电子表格环境中,实现从自然语言指令到结构化数据操作的端到端转化。其核心并非替代传统公式或宏编程,而是… 2026/7/17 0:00:08
Cursor终端插件生态避坑指南:23个实测低效插件黑名单,附3个自研轻量替代方案 更多请点击: https://intelliparadigm.com 第一章:Cursor终端插件生态避坑指南概览 Cursor 作为基于 VS Code 内核构建的 AI 原生编辑器,其终端插件生态虽活跃,但存在兼容性断层、权限策略突变与调试链路断裂等典型风险。开发者常… 2026/7/17 0:00:08
ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表) 更多请点击: https://codechina.net 第一章:ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表) 提示词工程已从经验试错迈入变量驱动的科学阶段。实证研究表明,影响… 2026/7/17 0:00:08
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/17 0:28:39
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/16 3:47:53
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/16 12:08:13