CANN/asc-devkit矩阵批量计算接口
📅 2026/7/15 15:31:49
👁️ 次浏览
IterateNBatch产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品 / Atlas A3 推理系列产品√Atlas A2 训练系列产品 / Atlas A2 推理系列产品√Atlas 200I/500 A2 推理产品xAtlas 推理系列产品 AI CorexAtlas 推理系列产品 Vector CorexAtlas 训练系列产品xKirin X90xKirin 9030x功能说明调用一次IterateNBatch会进行N次IterateBatch计算计算出N个多Batch的singleCoreM * singleCoreN大小的C矩阵。在调用该接口前需将MatmulConfig中的isNBatch参数设为true使能多Batch输入多Batch输出功能并调用SetWorkspace接口申请临时空间用于缓存计算结果即IterateNBatch的结果输出至SetWorkspace指定的Global Memory内存中。对于BSNGD、SBNGD、BNGS1S2的Layout格式调用该接口之前需要在tiling中使用SetALayout/SetBLayout/SetCLayout/SetBatchNum设置A/B/C的Layout轴信息和最大BatchNum数对于Normal数据格式则需使用SetBatchInfoForNormal设置A/B/C的M/N/K轴信息和A/B矩阵的BatchNum数。实例化Matmul时通过MatmulType设置Layout类型当前支持3种Layout类型BSNGD、SBNGD、BNGS1S2。函数原型template bool sync true, bool waitIterateBatch false __aicore__ inline void IterateNBatch(const uint32_t batchLoop, uint32_t batchA, uint32_t batchB, bool enSequentialWrite, const uint32_t matrixStrideA 0, const uint32_t matrixStrideB 0, const uint32_t matrixStrideC 0)参数说明表 1模板参数说明参数名描述sync获取C矩阵过程分为同步和异步两种模式同步需要同步等待IterateNBatch执行结束后续由开发者自行获取输出到Global Memory上的计算结果。异步不需要同步等待IterateNBatch执行结束。通过该参数设置同步或者异步模式同步模式设置为true异步模式设置为false。默认为同步模式。waitIterateBatch是否需要通过WaitIterateBatch接口等待IterateNBatch执行结束仅在异步场景下使用。默认为false。true需要通过WaitIterateBatch接口等待IterateNBatch执行结束然后由开发者自行获取输出到Global Memory上的计算结果。false不需要通过WaitIterateBatch接口等待IterateNBatch执行结束。调用本接口后需要调用GetBatchTensorC接口获取C矩阵或者由开发者自行处理等待IterateNBatch执行结束的过程。参数名输入/输出描述batchLoop输入当前计算的BMM个数。batchA输入当前单次BMM调用计算左矩阵的batch数。batchB输入当前单次BMM调用计算右矩阵的batch数brc场景batchA/B不相同。enSequentialWrite输入输出是否连续存放数据。matrixStrideA输入A矩阵源操作数相邻nd矩阵起始地址间的偏移默认值是0。matrixStrideB输入B矩阵源操作数相邻nd矩阵起始地址间的偏移默认值是0。matrixStrideC输入该参数预留保持默认值0即可。返回值说明无约束说明单BMM内计算遵循之前的约束条件。对于BSNGD、SBNGD、BNGS1S2 Layout格式输入A、B矩阵多Batch数据总和应小于L1 Buffer的大小。当使能MixDualMaster双主模式场景时即模板参数enableMixDualMaster设置为true不支持使用该接口。调用示例实例功能完成aGM、bGM矩阵乘结果保存到cGm上其中aGM数据的layout格式为BSNGDbGM数据的layout格式为BSNGDcGM的layout格式为BNGS1S2左矩阵每次计算batchA个SD数据右矩阵每次计算batchB个SD数据。// 创建Matmul实例 AscendC::MatmulaType, bType, cType, biasType mm1; AscendC::TPipe pipe; g_cubeTPipePtr pipe; REGIST_MATMUL_OBJ(pipe, GetSysWorkSpacePtr(), mm1); mm1.Init(tiling); int g_lay tiling.ALayoutInfoG tiling.BLayoutInfoG ? tiling.ALayoutInfoG : tiling.BLayoutInfoG; int for_extent tiling.ALayoutInfoB * tiling.ALayoutInfoN * g_lay / tiling.BatchNum; mm1.SetTensorA(gm_a[0], isTransposeAIn); mm1.SetTensorB(gm_b[0], isTransposeBIn); mm1.SetWorkspace(workspaceGM, 0); if (tiling.isBias) { mm1.SetBias(gm_bias[0]); } // 多batch Matmul计算 mm1.IterateNBatch(for_extent, batchA, batchB, false);创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
摘要
在本地生活竞争进入 AI 推荐时代之后,海鲜私房菜 这类门店的增长逻辑已经从“等平台分发流量”转向“搭建自有交易阵地并主动争取 AI 推荐流量”。本文从系统性经营视角出发,围绕餐宝盈“小程序搭建 GEO 获客 移动端成交”模式展开分析ÿ…
📅 2026/7/15 15:31:49
从Google Gemma到MLX:mlx-community/gemma-4-e4b-it-6bit模型转换全流程 【免费下载链接】gemma-4-e4b-it-6bit 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/gemma-4-e4b-it-6bit
mlx-community/gemma-4-e4b-it-6bit是针对Apple silicon优化…
📅 2026/7/15 15:31:49
AB Download Manager终极指南:3倍下载加速与智能管理全解析 【免费下载链接】ab-download-manager A Download Manager that speeds up your downloads 项目地址: https://gitcode.com/GitHub_Trending/ab/ab-download-manager
想要让文件下载速度提升3倍&am…
📅 2026/7/15 15:31:49
终极指南:3大功能揭秘taskt免费开源RPA自动化工具,如何零代码解放你的双手? 【免费下载链接】taskt taskt (pronounced tasked and formely sharpRPA) is free and open-source robotic process automation (rpa) built in C# powered by the…
📅 2026/7/15 16:21:34
1. 多路选择器:数字电路中的交通警察 第一次听说多路选择器时,我脑海中浮现的是十字路口的红绿灯。这个比喻其实很贴切——多路选择器就像数字电路中的交通指挥者,根据控制信号决定哪条数据通道可以通行。在实际项目中,无论是传感…
📅 2026/7/15 16:21:34
如何在5分钟内让Mac通过Android手机USB共享上网:HoRNDIS终极指南 【免费下载链接】HoRNDIS Android USB tethering driver for Mac OS X 项目地址: https://gitcode.com/gh_mirrors/ho/HoRNDIS
还在为MacBook在户外找不到Wi-Fi而焦虑吗?每次在咖啡…
📅 2026/7/15 16:21:34
终极GTA模组管理器:5分钟掌握Mod Loader的安全高效使用 【免费下载链接】modloader Mod Loader for GTA III, Vice City and San Andreas 项目地址: https://gitcode.com/gh_mirrors/mo/modloader
还在为GTA模组安装的复杂步骤而烦恼吗?Mod Loade…
📅 2026/7/15 16:21:34
Ryujinx模拟器终极指南:7个快速解决常见使用难题的完整方案 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx
Ryujinx是一款用C#编写的开源Nintendo Switch模拟器,…
📅 2026/7/15 16:21:34
做SEO的兄弟,最近是不是感觉头发掉得比代码写得还快?以前靠堆关键词、换域名就能上排名的日子,早就一去不复返了。现在百度和谷歌的算法跟精明了,特别是对于本地服务和垂直领域的搜索,用户想要的是“活人”说的话,而不是冷冰冰的机器生成的废话。这时候,AI GEO应用案例就…
📅 2026/7/15 16:21:10
1. COM线程模型基础与CoInitializeEx核心作用在Windows平台开发中,组件对象模型(COM)的线程处理机制一直是开发者必须掌握的底层知识。作为COM初始化的门户函数,CoInitializeEx不仅决定了对象在何种线程环境下运行,更影响着整个组件的并发性能…
📅 2026/7/15 0:00:17
1. 为什么M芯片Mac用户需要降级到Monterey? 去年刚拿到M2芯片的MacBook Pro时,我第一时间升级到了Ventura系统。结果第三天就遇到了微信闪退、Final Cut Pro渲染卡顿的问题。后来在开发者论坛发现,不少专业软件对Ventura的适配都存在问题。这…
📅 2026/7/15 0:00:17
1. 背景与核心概念在AI大模型快速发展的今天,许多开发者和研究者都面临一个现实问题:如何在有限的硬件预算下实现高效的本地大模型部署。特别是对于个人开发者和小型团队来说,购买最新的高端显卡成本高昂,而利用现有的或二手硬件资…
📅 2026/7/15 0:00:17
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/14 6:35:02
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/14 12:06:52
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/15 14:09:20
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/14 15:11:56
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/15 2:24:18
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/14 15:11:56