Psum当前投稿证据基础
把逐 tile 的中间结果归约位置从 collector 附近移到 lane 内,再以较少的 final 结果进入中央链路。已有数字外围的吞吐、任务能量与带宽取舍证据。
本教程的候选 A、候选 B 都在这一层内部。
先把两个层次分开:总排名①是 Psum,②是非 Psum 的精确递归状态(本次已停止研究);在 Psum 内部,本页只讲“候选 A:共同窄结果链路的吞吐/任务能量收益”和“候选 B:用较窄结果链路保留接近吞吐的资源取舍”。
这里的 A/B 是已有证据支持的两种投稿贡献主张。它们不是两个已经证明首创的独立机制;普通局部累计、只发送最终和、packing 或 FIFO 也没有在本页被宣布为首次创新。
“第一和第二候选”有两种说法。总排名的编号与 Psum 内部的 A/B 编号不同,本页首页先固定这个映射。
把逐 tile 的中间结果归约位置从 collector 附近移到 lane 内,再以较少的 final 结果进入中央链路。已有数字外围的吞吐、任务能量与带宽取舍证据。
本教程的候选 A、候选 B 都在这一层内部。
累积二的幂衰减、延后写回,并用精确阈值 decoder 恢复有限精度历史。它是另一条专用算子候选路线,当前已停止继续研究,不属于本页 Psum 数据流。
末尾附录只做静态定位,不把它改写成 Psum 候选。
| 术语 | 本页含义 | 在结果里对应什么 |
|---|---|---|
| Psum | partial sum,部分和。一个 dot product 尚未完成时,已经累加的精确整数结果。 | 可以在每个 tile 后交给中央,也可以留在 lane 中直到最后一个 tile。 |
| lane | 并行计算通道。这里有 4 个 lane,每个 lane 按固定模 4 映射接收一组 tile。 | local 方案在 lane 内保存 `local_sum`,最后产生一个 lane final。 |
| tile | 一次被四列计算核处理的输入分块。一个 dot product 由很多 tile 组成。 | 304 个 tile 的每 tile 结果形成 304 条中间 record。 |
| projection | 本页把一次完整的投影/点积任务看作一个 projection;所有 tile 结果最终退休为输出。 | 旧单列例子是 192 tile → 4 final;新四列合同是 304 tile → 4 final。 |
| collector | 中央收集、归约并反馈 Psum 的逻辑。它受到结果到达次序、握手和 holding 空间影响。 | local 通过减少 collector 看到的中间事务,试图减少反压。 |
| 带宽 | 结果链路每拍可搬运的位数、record 或 beat 数。链路越窄,排队与反压越容易成为瓶颈。 | 32 bit 与 128 bit 结果链路是候选 B 的资源预算差异。 |
| 吞吐 / 功率 / 能量 | 吞吐是单位时间完成多少任务;功率是运行时瞬时平均消耗率;能量是完成同一任务所用的功率乘有效时间。 | local 的平均功率可以更高,但如果完成窗口更短,任务能量仍可能更低。 |
只要局部状态没有溢出,先在 lane 内加、最后再做四 lane 求和,与逐 tile 交给中央的最终精确整数结果相同。于是论证重点从“算得对不对”转到“在什么链路和资源约束下,哪一种传输/归约位置更合适”。
下面两行是同一组 activation、weight 和 tile 计算。上行每个 tile 都把中间结果送给中央;下行让每个 lane 先完成自己的局部精确和,只有最后一个 tile 产生 final record。绿色路径改变了中央事务的发生时机,未删掉输入和核心计算。
192 tile projection 从逐 tile 发送变为 4 个 lane final,接收次数为 192→4,即 48×。它说明 collector 看到的事件数变化,不能直接写成 48× 带宽、功耗或系统吞吐。
304 条 88-bit 中间 record 变为 4 条 116-bit 分区结果,record 数是 76×;共同 32-bit beat 是 836→15。两种数字都不是对应的加速比。
把每个 lane 的三个 tile 结果固定为下面的整数。滑块每推进一步,表示四个 lane 各处理完一个 tile,共四块,而不是整个任务只处理一块。local_sum 在 lane 内累加;只有最后一个 tile 才显示 final。逐 tile 路径每轮提交 4 条结果,local 路径只在末轮提交 4 条 final。事务计数假设这些结果均已被中央接受;这是抽象处理轮次,不是实测时钟,也不表示 C1 能同拍接收四条。
| lane | tile 0 | tile 1 | tile 2(最后) | 当前 local_sum | final |
|---|
local_sum + tile_result → final。末轮表中的 local_sum 是加上当前 tile 后的和,随后四个 lane final 才能进入中央 collector。若把最后 tile 与普通 tile 混写,就会错误地认为 local 每步都能向中央交付,或遗漏末尾的求和。
下面柱图按每个指标自己的最大值归一化高度;面积标签保留两位小数,其余数值与完整精度表一起读。A 的 baseline 是共同 32 bit 结果链路下的 tile32;B 的 baseline 是强 tile128,local 仍是 32 bit。两组不能拼接。
| 指标 | tile32 参照 | local32 | 结论 |
|---|
固定 TT 0.9 V、25 °C、100 MHz 和 10 ns 时钟,同一四列精确点积合同下,tile32 与 local32 都使用 32 bit 结果链路。local 让 108 条相关 Qwen dot 的总周期从 91,321 降到 51,346,所以吞吐为 1.7785×;任务每四输出 dot 能量从 26.6353 nJ 降到 16.4973 nJ,即 −38.06%。代价是面积 +9.00%、平均总功率 +10.16%。
强 tile128 允许每拍搬运更宽的逻辑结果,并允许两项退休;local32 只有 32 bit 结果链路。两者都完成同一 108-dot 合同:tile128 总周期 50,214,local32 为 51,346,吞吐保留 97.80%;逻辑结果接口从 128 bit 降到 32 bit,即 −75%。local 的任务能量仅低 3.32%,面积高 3.85%,平均功率较低(3.47 mW 对 3.67 mW)。
投稿时最容易被追问的不是“数字大不大”,而是“是不是把基线做弱了”。A/B 的证据必须和下面的收费边界一起读。
W + 232 规则收费:tile128 为 360 bit,local32 为 264 bit,并非要求不同链路强行使用相同位数。| 比较合同 | 共同 shape / 链路 | 变化 | 可以说什么 | 不能说什么 |
|---|---|---|---|---|
| Atile32 ↔ local32 | 108 条相关 Qwen dot;共同 32 bit 结果链路 | 逐 tile record ↔ lane-local final-only | 在窄结果链路和长点积合同下,吞吐与任务能量的条件性收益。 | 不能把 304→4 的 76× record 比写成 76× 加速或能量比。 |
| Btile128 ↔ local32 | 同一任务;逻辑结果接口 128 ↔ 32 bit | 宽结果链路 ↔ 窄结果链路 | 较窄链路保留 97.80% 吞吐,换取小幅面积/能量取舍。 | 不能写成物理 NoC 能量节省,也没有宏删除证明。 |
| C旧单列 P2 负例 | 共同真实 P2 入口;local C1 ↔ 真正 tile C2 | 强中央二项收集器已经回收大部分等待 | local 的优势依赖 collector 压力和资源规则,不是普遍优胜。 | 不能把 C 的负例和 A/B 相乘或混成一个总分。 |
功率来自约三位有效数字的 PT 报告,派生百分比受此精度限制。任务能量按各自完整活动窗口计算:E(nJ/dot) = P(mW) × T(ns) / (1000 × dot数);不是把 local 完成后的空闲时间加入共同平均窗口。
local 的有利方向不是“中央事务越少越好”这么简单。减少事务需要局部寄存器、局部加法、final holding 和更宽的分区 record;当 collector 已经足够强或点积太短时,这些新增成本可能占上风。
窄结果链路、较长点积、collector 服务/反压明显、非末 tile 的局部退休能被充分摊销。
输入供数或最慢 lane 已经主导完成时间;减少中央事务不再能改变总周期。
强 C2 已低成本合并多路、点积很短、final 与状态开销没有摊销,local 可能更慢、更耗能。
fused 每个 lane 删除 INT20 tile 结果 bank、重复 INT27 final bank,以及两项完成标签 FIFO 和指针/count;改用同一个 INT27 bank 累计并保持 final,配合 18 bit 活动标签。普通加法并未消失:Horner 与 INT27 累计进入同拍组合链,估计路径相对旧 local 增长约 10.45%,不是提频收益。状态复用依赖严格单 projection 生命周期。
| 配置 | 完整周期 | 标准单元面积 µm² | 能量 pJ/单输出 dot |
|---|---|---|---|
| 旧 actual tile C2(共同参照) | 52,830 | 18,741.114 | 3,356.9062 |
| 旧 local C1(上述负例) | 52,888 | 19,544.489 | 3,415.6833 |
| fused local C1(状态复用) | 52,504 | 18,866.358 | 3,254.1542 |
fused 相对这份旧 actual tile C2:吞吐 +0.6209%、能量 −3.0609%、面积 +0.6683%。这是小幅数字外围取舍,不是 A/B 的额外乘数,也不是全面优势。方法与版本边界见 psum_fused_mechanism.md、psum_priority_review.md。
新 matched compact C2 尚未测活动能量。通用状态精简也应给参照版,不能把旧 C2 下 fused 的 −3.0609% 延用到新 matched compact C2,更不能据此宣称新合同净节能成立。
下面的对照表适合转化为论文 introduction、architecture comparison 和 limitation。每一列都要保留,才能让“工程贡献”与“机制首创”不互相替代。
| 已有机制 / 边界 | 当前实现增量 | 潜在投稿主张 | 未证明之处 | 证据状态 |
|---|---|---|---|---|
| OS-CIM 已有 macro 内本地 Psum,并以减少外部 Psum buffer 访问为目标。 | 在本项目四 lane、固定模 4 映射和精确整数合同中,改变 projection 内归约位置;local_sum 留在 lane,末 tile 才发 final。 | 在特定窄结果链路/collector 预算下,局部状态与中央服务带宽形成可复核的吞吐—能量取舍。 | 归约原则本身相对所有邻近 output-stationary 方案的新颖性;物理 SRAM/互连是否真的净省。 | 先例边界已知 |
| StreamDCIM 已有 tile execution decoupling、混合驻留交叉转发和 elastic scheduling。 | 本实现保留同一核和队列预算,测量 local final-only 如何减少当前 collector 的中间交互。 | 把固定 mapping、结果宽度、collector 服务和 local 状态放进同一公平资源合同,给出收益/负例交叉点。 | 不能把一般解耦、FIFO 或调度叫成首次;不能宣称相对 StreamDCIM 全系统领先。 | 先例边界已知 |
| 普通精确累计、packing、共享核、Booth/Horner、FIFO 都是成熟原语。 | 完整收费的数字外围:输入、holding、路由、反压、local bank、feedback、final record、collector。 | A:共同窄链路下吞吐/任务能量结果;B:以 32 bit 结果链路保留接近 128 bit 参照吞吐的资源取舍。 | A/B 都不是已被证明首创的两个机制;普通 local accumulate 不能单独承担 novelty。 | 条件性候选 |
| 四 lane 的中央 C2 可以用实际选择的两项做低成本合并。 | 强 C2 作为近距离参照,避免只拿弱 collector 证明 local 有利。 | 把强基线也纳入,说明 local 的收益来自何种通信预算,而非对所有中央收集器都优胜。 | C 中已出现近零吞吐和正能量代价;当前没有普适优势或所有预算下优胜。 | 负例已保留 |
| 累计、寄存器复用和标签精简都是成熟原语,不能单独声称首创。 | 旧单列 fused 合并累计与 final 保持 bank,删除 tile/final 重复 bank 和完成标签 FIFO;以单 projection 生命周期换取可证明的状态删除。 | 在旧 actual P2/C2 完整成本合同中,以面积 +0.6683% 换能量 −3.0609%、吞吐 +0.6209%,说明具体状态动作比单纯事务次数更有解释力。 | 新 matched compact C2 未测能量;不能推广旧 fused 结论,也不证明 A/B 已删除物理链路或宏。 | 旧合同已测 |
所有 activation、weight、tile 和 bit-serial 乘加仍然执行;收益来源不是跳过计算。
非末 tile 的结果在 lane 内退休,collector 主要处理每 lane 的 final;这会减轻窄结果链路上的服务压力。
输入供数、最慢 lane、projection 边界、final drain 和输出退休无法被 local_sum 自动消除。
这里把容易被简称为“第二候选”的想法单独定位。它是总排名第二的精确递归状态表示,不是 Psum 内部的候选 B,也不是本教程 A/B 的另一个名字;当前已停止研究扩展。