首页/新闻资讯/正文详情

34 · 两行 GEMV 共享激活,只换来 0.6%:一个反向证明

发布时间:2026/11/8 8:26:39 来源:云帆数科 栏目:资讯中心
34 · 两行 GEMV 共享激活,只换来 0.6%:一个反向证明
34 · 两行 GEMV 共享激活只换来 0.6%一个反向证明本篇对应源码main/pie_dotprod.S·main/kmcu.c目标单核 GEMV 只跑到 PSRAM 上限的 66–78%怀疑是「每行重装激活」的开销。结论省掉 12.5% 的指令端到端只快 0.6%——这不是指令受限是字节带宽受限。关键词PIE 汇编 · 两行 GEMV · 带宽受限封面省 12.5% 指令只快 0.6%一、结论先行阶段单行内核两行内核ffn25.5 ms25.1 msqkv18.6 ms18.4 mso10.0 ms9.8 msple9.6 ms9.6 mstotal19 token 均值159.9 / 160.0 ms159.0 / 159.0 ms位级20 token 序列完全一致sd fnv 817147c7、kv fnv 739dd3ef两侧相同。二、动机每块 64 B 激活 vs 32 B 权重单行内核处理一个 32 元素块时要做的事装 4 个 128-bit 的xq32 个 int16 64 B装 2 个vldext的权重32 个 int8 32 B4 条vmulas 1 条srs 约 5 条标量激活的字节数是权重的两倍。对 gate/up 这种「同一份激活、几十行权重」的形状看起来明显浪费。三、内核一次装载两条点积链pie_gemv_row2: /* a0qa a1qb a2x a3da a4db a5nblk a6ya a7yb */ esp.vld.128.ip q2, a2, 16 /* 激活块 32 个 int16两行共用 */ esp.vld.128.ip q3, a2, 16 esp.vld.128.ip q4, a2, 16 esp.vld.128.ip q5, a2, 16 /* 行 A */ esp.zero.xacc esp.vldext.s8.ip q0, q1, a0, 16 esp.vmulas.s16.xacc q0, q2 esp.vmulas.s16.xacc q1, q3 esp.vldext.s8.ip q0, q1, a0, 16 esp.vmulas.s16.xacc q0, q4 esp.vmulas.s16.xacc q1, q5 esp.srs.s.xacc t3, t4 /* 行 B 同样一遍只是权重指针换成 a1 */PIE 只有一个xacc累加器所以「共享激活」只能在寄存器层做先把 32 个激活装进 q2–q5然后两行依次把权重流过去。每块从 32 条指令降到 28 条。两个硬件约束值得记下来踩过一次srs/vldext的 GPR 只能编码 x8–x15 / x24–x31所以右移量放t4(x25)、结果暂存用t3(x24)/t5(x26)指针留在 a0–a5esp.vldext.s8.ip一次只能出 2 个寄存器16 个 int8 符号扩展成两个8×int16所以 32 个 int8 要两条。objdump复核函数体 0x1a0–0x22d没有栈帧、没有寄存器溢出。四、C 侧成对调用奇数回退intr0;for(;r1n_rows;r2){pie_gemv_row2(qr*align,q(r1)*align,xq,dr*nblk,d(r1)*nblk,nblk,y[r],y[r1]);y[r]*coeff;y[r1]*coeff;}for(;rn_rows;r)y[r]pie_gemv_row(qr*align,xq,dr*nblk,nblk,0)*coeff;行数为奇数时最后一行回退单行内核所以任何形状都能用。五、为什么只快 0.6%这篇的真正价值每块指令数32 → 28−12.5%端到端159.9 → 159.0 ms−0.6%两者差了一个数量级只能说明一件事这些阶段的时间不是被指令吞吐决定的而是被从 PSRAM 搬权重决定的。逐阶段算有效带宽单核上限 121 MB/s阶段字节量耗时有效带宽占上限ffn2.4 MB25.5 ms94 MB/s78%qkv1.62 MB18.6 ms87 MB/s72%o0.8 MB10.0 ms80 MB/s66%省指令不会让 PSRAM 变快所以两行内核只能把「剩下的那点非带宽开销」挤掉一点。顺带得到一个可用的预算式每 token 必须过 15.4 MBhead 10.24 ffn 2.4 qkv 1.6 o 0.8 其余按双核 157 MB/s 是 98 ms加 PLE 行读 14.4 ms理论上限约 113–117 ms。当前 159–170 ms剩余空间全在「让这几段也吃满双核」。六、诚实边界0.9 ms 的收益在任何单次测量里都不显眼它是两次开、两次关交替得到的稳定差值159.0/159.0 vs 159.9/160.0不是一次跑出来的。收益虽小但位级一致所以保留默认开启KMCU_GEMV21并留了运行期g键与构建期-DKMCU_GEMV20两条退路。这个内核只对「同一 tensor 的相邻两行」有效输出头本身是带宽打满的用不上它也没有收益。七、一句话这是一次「反向证明」花力气省掉 12.5% 的指令只换来 0.6%反而确认了瓶颈是 PSRAM 字节带宽——从此不必再在 GEMV 指令级上找空间。对应源码文件关键符号 / 位置支撑本文哪部分main/pie_dotprod.Spie_gemv_row2两行共享激活的内核main/kmcu.cgemv_q8_pre()的成对循环C 侧接入与奇数回退main/kmcu.ckm_gemv2_selftest()与单行内核的逐位比较main/main.ccase g运行期逃生舱《Kestrel-MCU 手记》· 全系列 37 篇在 ESP32-P4 上从零训练并部署 64M 参数 MoE 大模型5.8 tok/s源码、权重、训练脚本与全部文章开源可复现。仓库https://gitee.com/pei-xiaoguang/kestrel-llm-mcu · 觉得有用欢迎 Star

相关推荐

结合 Python 技术生态,从智能体构建、自动化工作流、图像批量处理与 AI 办公四个方向展开
结合 Python 技术生态,从智能体构建、自动化工作流、图像批量处理与 AI 办公四个方向展开

2026 年 10 月 24 日至 25 日,2026 长沙 1024 程序员日暨 AI 构建者大会在世界计算长沙智谷举行。大会由 CSDN 主办,以“具身同行、智构未来”为主题,设置“一主会、三论坛、四场构建”等系列活动,线下参会规模超过 1500 人。 本届… · 2026/11/8 8:26:39

基于SpringBoot和Vue的摇滚乐鉴赏网站
基于SpringBoot和Vue的摇滚乐鉴赏网站

基于SpringBoot和Vue的摇滚乐鉴赏网站的设计与实现(万字文档源代码数据库脚本说明文档可远程调试) 系统介绍: 基于SpringBoot和Vue实现的摇滚乐鉴赏网站采用前后端分离的架构方式,搭配MySQL数据库,为B/S结构系统。系统设计了两种角色&#xf… · 2026/11/3 2:03:33

一张视图加一张流水表,做物业自动催缴:4 条规则 3 道闸门的完整实现(SQL 可直接跑)
一张视图加一张流水表,做物业自动催缴:4 条规则 3 道闸门的完整实现(SQL 可直接跑)

收费员每月的催缴工作,本质是一张欠费表加一段定时任务:应收按账期切片入库,收款流水只增不改,四条阶梯规则命中该催的人,三道闸门挡住重复发送。跑完一轮,谁该催、催到哪一档、上次什么时候催过&#xff0… · 2026/11/3 17:35:33

拆电线需要电工证吗?值不值得考?商丘公路工程从业者的真实经验
拆电线需要电工证吗?值不值得考?商丘公路工程从业者的真实经验

拆电线需要电工证吗?值不值得考?商丘公路工程从业者的真实经验 证书过期了不知道怎么复审延期?很多人在特种作业证到期后,手忙脚乱地去打听复审流程,结果不是被各种信息绕晕,就是错过了最佳办理时间。尤其像商丘这样的公路工程从业者,工作中涉及电力线… · 2026/11/8 8:26:03

怎么看电工证复审延期怎么办理
怎么看电工证复审延期怎么办理

电工证怎么考?考前押题能帮你少走弯路 你是不是正在为找不到工作发愁?是不是已经拿到了电工证,却还在为怎么复审、怎么补办、怎么考前准备而焦虑?别急,今天就从平顶山劳务班组负责人的角度,和你聊聊 怎么看电工证 ,以及怎么用 考前押题… · 2026/11/8 8:26:03

电工证怎么拿下真实经历分享:别再被中介骗了
电工证怎么拿下真实经历分享:别再被中介骗了

电工证怎么拿下真实经历分享:别再被中介骗了 不知道去哪报名怕被中介坑?我来告诉你电工证怎么拿下,这是我在许昌市政工程一线工作时的真实经历。当时为了接项目,单位要求考低压电工证,结果被几个“代办”机构忽悠得差点交了高价费,最后还是自己搞定,现… · 2026/11/8 8:26:03

电工作业考试试题库怎么用?真实经历告诉你怎么避免走弯路
电工作业考试试题库怎么用?真实经历告诉你怎么避免走弯路

电工作业考试试题库怎么用?真实经历告诉你怎么避免走弯路 之前考的证在外省能不能转过来?这几乎是每个在外地打工、刚拿到特种作业操作证的电工都问过的问题。我之前也在外地工作,考了低压电工证,后来想回老家发展,发现证书不能直接用,折腾了一番才搞定… · 2026/11/8 8:26:03

怎么看电工证培训机构怎么选
怎么看电工证培训机构怎么选

电工证怎么考?多久拿证?新手必看的避坑指南 你是不是正为找不到工作发愁?是不是因为没有电工证,连面试机会都没有?别急,这篇文章就是为你量身打造的,从 怎么看电工证 到 多久拿证 ,再到如何选择靠谱的培训机构,全都讲得明明白白。… · 2026/11/8 8:26:03

广州番禺区电工证内部消息:电工证怎么考?工资能拿到多少?
广州番禺区电工证内部消息:电工证怎么考?工资能拿到多少?

广州番禺区电工证内部消息:电工证怎么考?工资能拿到多少? 你是不是也和我一样,不知道去哪报名怕被中介坑?别急,今天就把【广州番禺区电工证】的 内部消息 一股脑告诉你,从报名到拿证、从工资到未来发展,全都讲透彻。… · 2026/11/8 8:25:02

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/8 0:00:20

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/8 0:00:20

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/8 0:00:20

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/8 0:00:20

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/8 0:00:20

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/8 0:00:20

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/7 11:25:08

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/7 12:02:18

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/8 1:18:25

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码