GEMM 三向分块参数 M/N/K BlockSize 完整解释
GEMM 三向分块参数 M/N/K BlockSize 完整解释GEMM 公式CM×NAM×K×BK×NC_{M×N} A_{M×K} × B_{K×N}CM×N​AM×K​×BK×N​三个维度对应三套分块参数M_blockA 矩阵行维度分块大小选项AN_blockB 矩阵列维度分块大小选项BK_block矩阵乘累加维度分块大小选项C一、每个参数分别是什么含义1. M方向分块大小 M_blockA的行、C的行逻辑矩阵 A 维度 M把 M 切多段每段长度 M_block硬件对应Task BlockAI Core并行分块多个AI Core并行每个Block只算 M_block 行的数据各核负载拆分。存储每块 A[M_block, K] 会搬入 L0A2. N方向分块大小 N_blockB的列、C的列逻辑矩阵 B 维度 N把 N 切多段每段长度 N_block硬件对应单AI Core内一次输出的C矩阵宽度存储每块 B[K, N_block] 搬入 L0B输出 C[M_block, N_block] 存在 L13. K方向分块大小 K_block累加维度乘加循环逻辑A、B公共维度K循环多次累加每次只取 K_block 长度做Cube乘A(M,K)×B(K,N)∑tile0K/KblockAtile(M,Kblock)×Btile(Kblock,N)A(M,K)×B(K,N) \sum_{tile0}^{K/K_{block}} A_{tile}(M,K_{block}) × B_{tile}(K_{block},N)A(M,K)×B(K,N)∑tile0K/Kblock​​Atile​(M,Kblock​)×Btile​(Kblock​,N)核心约束L0A、L0B容量上限完全由 K_block 决定L0A存 M_block × K_blockL0B存 K_block × N_block两者总和不能超过片上L0总大小。二、为什么这三个参数必须确定对应Local内存、Cube、硬件限制1. 硬件存储硬性约束最核心原因昇腾Cube计算必须把A、B小块放入L0A / L0BLocal专用缓存L0容量极小MB级不能一次性放下完整矩阵。{L0A占用Mblock×Kblock×data_type_bytesL0B占用Kblock×Nblock×data_type_bytes \begin{cases} \text{L0A占用} M_{block} × K_{block} × \text{data\_type\_bytes}\\ \text{L0B占用} K_{block} × N_{block} × \text{data\_type\_bytes} \end{cases}{L0A占用Mblock​×Kblock​×data_type_bytesL0B占用Kblock​×Nblock​×data_type_bytes​三者任意一个太大都会直接 Local Memory Overflow 报错三者搭配太小会频繁SDMA搬运Global→L0访存瓶颈。2. 匹配Cube硬件原生计算粒度达芬奇Cube最小硬件计算单元为 16×16×16FP16M_block、N_block 建议是16倍数适配单次Cube输出块K_block 建议16倍数保证Cube流水线满载减少计算气泡。三个分块尺寸不对齐16会产生填充0、算力浪费msprof中CubeUtilization变低。3. 控制SDMA搬运次数决定访存开销K_block 越小外层K循环次数越多Global ↔ L0 来回搬运越频繁HBM带宽压力暴增M_block / N_block 太小单次Cube计算数据量少流水线频繁启停PipeUtilization流水线利用率下降。4. 控制多AI Core并行负载均衡M_block总M长度 / M_block 启动的Task Block数量AI Core并行数。M_block设置不合理会导致AI Core数量不匹配硬件、部分核负载过重、部分核空闲并行效率低。5. 控制L1输出缓存占用M_block × N_block计算结果C存在L1Mblock×NblockM_{block}×N_{block}Mblock​×Nblock​不能超过L1剩余容量如果M/N分块过大L1溢出必须频繁写回Global增加带宽开销。三、三者分工总结M_blockA选项负责多AI Core并行拆分约束L0A、L1输出行宽N_blockB选项负责单次Cube输出宽度约束L0B、L1输出列宽K_blockC选项控制内层累加循环次数决定L0总占用、数据搬运频次是调优GEMM性能最关键参数。四、一句话总结为什么三者都需要确定GEMM计算依赖片上极小L0/L1存储必须把大矩阵沿M/N/K三维切小块M/N/K分块大小共同决定① L0/L1内存是否溢出② Cube硬件计算是否对齐、算力利用率高低③ Global与Local之间数据搬运次数与带宽开销④ 多AI Core并行负载是否均衡。三者缺一不可都需要人工指定/自动Tiling求解。

相关新闻

【自指性理论】光,既是推动,也是刹车——光致量子摩擦效应与容度原理解读

【自指性理论】光,既是推动,也是刹车——光致量子摩擦效应与容度原理解读

标题:光,既是推动,也是刹车——光致量子摩擦效应与容度原理解读一、现象描述2026年2月,《自然物理》报道了一项颠覆直觉的实验发现。奥地利维也纳大学和瑞士洛桑联邦理工学院联合团队,在用激光照射悬浮纳米颗粒时&…

2026/6/20 9:13:37阅读更多 →
Java程序直连USB硬件的跨平台JNI工具包,含Win/Linux驱动与HID设备交互示例

Java程序直连USB硬件的跨平台JNI工具包,含Win/Linux驱动与HID设备交互示例

本文还有配套的精品资源,点击获取 简介:一套让Java应用直接操作本地USB设备的实用工具集,通过JNI调用底层C代码实现硬件级通信。Windows下提供jusb.dll动态库和配套inf/sys驱动文件,Linux下给出适配代码和加载逻辑。支持完整US…

2026/6/20 9:13:37阅读更多 →
变电站监控视频里自动找人+识别蓝工装的MATLAB工具集

变电站监控视频里自动找人+识别蓝工装的MATLAB工具集

本文还有配套的精品资源,点击获取 简介:一套开箱即用的MATLAB工具集,专为变电站视频监控场景设计,能从连续画面中稳定检出移动人员或异物,并进一步判断其是否穿着标准蓝色工作服。核心基于GMM高斯混合模型做背景建模…

2026/6/20 9:13:37阅读更多 →
操作系统(8)第二章- 进程同步与互斥

操作系统(8)第二章- 进程同步与互斥

进程同步与互斥的基本概念 一、前提:并发与共享引发的问题 多道程序环境下,进程并发执行,且会访问共享资源(硬件设备、全局变量、缓冲区、文件等)。 多个进程同时读写共享数据时,执行结果不可预期&#x…

2026/6/20 10:28:44阅读更多 →
MAA明日方舟助手:如何用智能图像识别技术实现全自动游戏辅助

MAA明日方舟助手:如何用智能图像识别技术实现全自动游戏辅助

MAA明日方舟助手:如何用智能图像识别技术实现全自动游戏辅助 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https…

2026/6/20 10:28:44阅读更多 →
WebLogic弱密码漏洞复现与防御:从原理到实战攻防

WebLogic弱密码漏洞复现与防御:从原理到实战攻防

1. 项目概述:从一次内部安全演练说起去年,我们团队在一次针对内部老旧系统的安全评估中,发现了一台仍在运行的WebLogic 10.3.6服务器。出于职业习惯,我尝试用几个常见的弱密码组合去碰碰运气,结果竟然真的通过weblogic…

2026/6/20 10:28:44阅读更多 →
LoadPE  被加载PE文件代码分析(ASM汇编版本)>>03

LoadPE 被加载PE文件代码分析(ASM汇编版本)>>03

目录 一、整体加载流程概览 二、详细实现步骤(汇编思路) 阶段0: OEP环境设置引用等 确定OEP加载程序 需要加载的程序大小 编译器链接器解决基地址(到时候在看看) 申请LoadPE所需要的空间 加载的过程 包引用环境变量等 查看基地址是否在400000地…

2026/6/20 10:28:44阅读更多 →
AI Agent 面试题 799:Agent系统的微服务拆分和服务网格设计

AI Agent 面试题 799:Agent系统的微服务拆分和服务网格设计

🔥 AI Agent 面试题 799:Agent系统的微服务拆分和服务网格设计摘要:本文深入解析了「Agent系统的微服务拆分和服务网格设计」这一 AI Agent 领域的核心面试题。文章从 容器化部署 的基本概念出发,系统性地剖析了 微服务、服务网格…

2026/6/20 10:28:44阅读更多 →
Mac本地跑大模型实操指南:Ollama+GGUF+Metal零失败部署

Mac本地跑大模型实操指南:Ollama+GGUF+Metal零失败部署

1. 项目概述:为什么Mac本地跑大模型不再是“玄学”,而是手把手就能落地的事最近在几个技术群和本地AI爱好者聚会上,总有人问:“Mac上真能跑得动Gemma4或者Qwen3.5这种级别的大模型吗?不是只能靠API调用、天天看Token余…

2026/6/20 10:23:44阅读更多 →
【课程设计/毕业设计】基于 Web 的高校县志馆藏信息综合管理系统设计与实现 基于Django的青岛滨海学院特色文献捐赠流转管理系统的设计与实现【附源码、数据库、万字文档】

【课程设计/毕业设计】基于 Web 的高校县志馆藏信息综合管理系统设计与实现 基于Django的青岛滨海学院特色文献捐赠流转管理系统的设计与实现【附源码、数据库、万字文档】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/6/20 0:02:40阅读更多 →
MC68HC908RF2A定时器PWM生成原理与实战:无缓冲与缓冲模式详解

MC68HC908RF2A定时器PWM生成原理与实战:无缓冲与缓冲模式详解

1. 项目概述与核心价值在嵌入式开发,尤其是电机驱动、LED调光、开关电源这些需要精确控制“能量”的领域,脉冲宽度调制(PWM)技术是工程师手中的一把瑞士军刀。它的本质很简单:用一个固定频率的方波,通过改变…

2026/6/20 0:02:40阅读更多 →
在银河麒麟V10桌面(2205版本)上实战部署软RAID 1:从模块黑名单到自动挂载

在银河麒麟V10桌面(2205版本)上实战部署软RAID 1:从模块黑名单到自动挂载

1. 银河麒麟V10桌面系统与软RAID 1基础认知 第一次在银河麒麟V10桌面上折腾软RAID 1时,我踩了不少坑。这个国产操作系统基于Linux内核,但2205版本对软RAID模块做了特殊处理,需要额外操作才能正常使用。软RAID 1其实就是磁盘镜像技术&#xff…

2026/6/20 0:02:40阅读更多 →