Altifigence Academy

14 / 20 · 概念

带宽与有效利用率

区分峰值 MAC 能力与填充、排空、补零和存储器成本。

定义区间与单位

N×N 网格每个推进时钟沿的峰值为 N² 次 MAC。填充流水线和排空会降低独立任务的利用率。在无停顿、完整分块、单时钟沿转发的模型中,有效工作为 N²K,可用槽数为 N²(K+2N−2),因此计算区间利用率为 K/(K+2N−2)。

N=4、K=16 时,网格在二十二个推进时钟沿执行 256 次 MAC。利用率为 256/352=8/11,约 72.73%。假定频率为 100MHz,峰值能力为 1.6 GMAC/s,独立计算区间吞吐率约为 1.164 GMAC/s。如果分别统计乘法和加法,操作数翻倍。这些是在假定频率下的估计,不是实测综合结果。

计算各边界的流量

注入 A 和 B 需要 2NK 个值:八位操作数共 128 字节。PE 共使用 512 个操作数值,说明每个边界输入被复用四次。重叠的注入区间可能需要每沿八字节,即在 100MHz 下为 0.8GB/s。峰值供应需求不同于填充和排空区间的平均需求。

假定十六个结果使用三十二位存储槽,尽管累加器位宽为二十位。结果写入增加六十四字节,因此不计跨分块复用、命令开销或对齐浪费时,外部流量共 192 字节。算术强度为 256/192=4/3 次 MAC/字节。

带宽为 0.4GB/s 时,仅传输就至少需要 480ns;计算需要 220ns。即使完全重叠,也不可能快于较长区间,吞吐率上界约为 0.533 GMAC/s。这是上界,不是保证性能。如果没有重叠,加载需要三十二个时钟沿,计算二十二个,存储十六个,总共七十个时钟沿,尚未计入初始化或其他等待时约为 0.366 GMAC/s。

N=2 上含补零的 3×3 示例,在八十个 PE 槽中执行二十七次有效 MAC:有效利用率为 33.75%。如果计入填充零的 MAC,则为 60%,这是不同的测量指标。Jouppi 等人的 TPU 论文是区分加速器峰值能力与工作负载性能的研究参考;本课程数值示例根据自己的调度推导。

自己试试

对于完整的 N=2、K=8 分块,求 MAC 次数、计算沿数、利用率和八位边界输入的字节数。

阅读解释

共 32 次 MAC、十个计算时钟沿和四十个 PE 槽,因此利用率为 80%。边界输入为 2×2×8=32 字节。计算利用率不包含加载和结果存储。

你的选择适用于此浏览器,可随时在页脚更改。