17 / 24 · 概念
PE、数据流与 MAC 复用
将 P=3、M=2、K=8 映射到四个输出驻留型 PE。不计写入时,MAC 周期数和有效 MAC 槽利用率是多少?
课时内容可免费阅读,选课后可保存学习进度。
决定哪些值保留在附近
PE 是包含乘法、累加和少量本地状态的处理单元。只有操作数和部分和能到达各 PE,增加 PE 才会提高可能的并行度。数据流把循环轴映射到时间和 PE 位置,并选择哪些值保留在本地。同样的 MAC 次数可能需要非常不同的数据移动。
输出驻留在本地保存输出部分和,同时供应操作数。权重驻留针对不同输入保留权重,并移动或合并部分和。输入驻留保留输入值,以在不同权重间复用。每个名称都指出被减少的一种移动,并不消除其他所有传送。结合复用策略时,应描述实际路径。
输出驻留映射示例
P=4 个空间位置、M=2 个输出通道、K=9 个归约项,产生八个输出和 72 次 MAC。四个 PE 分别拥有一个输出,每周期执行一项。前四个输出需要九周期,后四个再需要九周期:共十八个 MAC 周期。如果每组之后增加一个同时写入结果的周期,且没有重叠,总计二十周期。MAC 槽完全利用,但完整操作利用率还包括写入。
将同一窗口的两个输出通道放到不同 PE,并广播共享输入。如果分别为两个通道读取九样本窗口,供应边界需要十八次读取;只读一次并共享,则需要九次。这不计本地 PE 读取或相邻窗口间的复用。应明确统计流量的边界。
只保留本地存储所能容纳的部分和。四个 PE 处理七个输出时,第二组有一个 PE 未使用。有效性掩码必须抑制其虚假结果,利用率应只统计有效 MAC。
移动部分和可能比移动 int8 操作数需要更宽的传送。记录每类数值的位宽及读写次数。重新排列精确整数求和不会改变结果,但中间截断会破坏这种等价性。麻省理工学院 Eyeriss 项目提供了注重复用的加速器设计一手实例。本课程 PE 数量和调度是独立的假设教学示例。
自己试试
将 P=3、M=2、K=8 映射到四个输出驻留型 PE。不计写入时,MAC 周期数和有效 MAC 槽利用率是多少?
阅读解释
六个输出需要两组,共十六个 MAC 周期。共有 64 个 PE 周期槽和 48 次有效 MAC,利用率为 75%。