脉动阵列加速器与SCALE-Sim v3的稀疏计算优化
1. 脉动阵列加速器概述脉动阵列Systolic Array是一种专为高效执行矩阵乘法等线性代数运算设计的硬件架构其核心思想是通过规则的数据流动和局部计算实现高并行度。这种架构最早由H.T. Kung在1982年提出现已成为现代AI加速器的关键组件。在典型的脉动阵列中处理单元(PE)按二维网格排列数据以脉动方式在PE间流动每个时钟周期完成部分计算并传递给相邻PE。传统模拟器如SCALE-Sim v2虽然能对基础脉动阵列进行周期精确模拟但随着AI模型复杂度的提升面临三个主要挑战现代模型普遍存在50-90%的稀疏性传统密集计算浪费大量资源多核并行成为提升算力的主要手段需要更精细的时空分区建模内存访问已成为性能瓶颈需考虑DRAM层次的实际延迟2. SCALE-Sim v3架构设计2.1 整体架构改进SCALE-Sim v3在v2基础上进行了五项关键改进多核支持引入时空分区和层次化内存结构稀疏计算支持层间和行间稀疏矩阵乘法(SpMM)内存建模集成Ramulator实现DRAM行为分析数据布局精确建模片上存储的数据排布能耗估算通过Accelergy实现功耗分析新架构采用模块化设计各组件通过标准接口连接。如图1所示模拟器核心包含多个张量核(TC)每个TC包含脉动阵列和SIMD单元通过共享L2缓存互连。这种设计可灵活配置为同构或异构多核系统。2.2 周期精确模拟原理周期精确模拟的关键在于跟踪每个时钟周期内的数据流动输入矩阵、权重矩阵在PE间的传递路径计算状态每个PE的乘累加(MAC)操作进度资源竞争内存带宽、总线仲裁等共享资源的使用情况模拟器维护三个关键状态机计算状态机跟踪PE阵列的计算进度内存状态机模拟SRAM和DRAM的访问延迟同步状态机协调多核间的数据依赖提示周期精确模拟虽然精度高但速度较慢。建议在实际使用中先采用分析模型快速探索设计空间再对候选配置进行周期精确验证。3. 稀疏计算实现细节3.1 稀疏性建模方法SCALE-Sim v3支持两种稀疏模式层间稀疏不同层采用不同稀疏比(N:M)行间稀疏同一层内不同行采用不同稀疏比稀疏比定义为非零元素数(N)与块大小(M)的比值。为保持计算优势约束N ≤ M/2。例如在2:4稀疏中每4个元素至少2个为零。3.2 稀疏存储格式模拟器支持三种压缩格式CSR(压缩稀疏行)存储非零值和列索引CSC(压缩稀疏列)列优先版本的CSRBlocked ELLPACK块化的ELL格式适合硬件实现以图6的8×8矩阵为例采用块大小4的Blocked ELLPACK格式时绿色部分存储实际非零值紫色部分存储元数据(每个块需要log2(4)2位)3.3 稀疏计算性能分析图5展示了ResNet-18在不同稀疏比下的性能1:4稀疏相比密集(4:4)减少约40%计算周期随着片上内存增大所有配置的停滞周期都减少稀疏模型的优势在内存受限时更明显图7的存储分析显示1:4稀疏所需存储仅为密集的35%包括稀疏数据和元数据的总开销仍显著低于密集存储4. 多核并行优化4.1 时空分区算法传统空间分区(公式1)仅沿Sr和Sc维度切分周期数 (2R C T - 2) * ceil(Sr/(Pr*R)) * ceil(Sc/(Pc*C))v3新增时空分区(公式2-3)允许沿时间维度T切分时空分区1沿Sc和T切分(公式2) 时空分区2沿Sr和T切分(公式3)图3显示两种分区的trade-off时空分区在计算周期优化场景表现更好空间分区在内存占用优化场景占优4.2 层次化内存设计多核系统采用两级存储结构私有L1每个张量核独享存储当前计算块共享L2多核共享减少输入/权重数据的重复存储如图4所示同行核共享输入分区同列核共享权重分区。L2大小需满足L2_size ≥ max(input_partition, weight_partition)4.3 非均匀负载均衡考虑芯片间延迟差异采用非均匀分区远离内存的核分配较小负载(Pr, Pc)靠近内存的核分配较大负载(Pr, Pc)分区比例根据NoP(Network on Package)延迟确定Pr/Pr Pc/Pc latency_remote / latency_local5. 内存系统建模5.1 DRAM集成方案通过Ramulator实现精确DRAM建模支持DDR4、HBM等多种内存标准模拟行缓冲命中/冲突的实际延迟统计带宽利用率和功耗关键配置参数包括通道数(1-8个)请求队列大小(32-512项)内存技术(DDR4/HBM等)5.2 内存访问优化图9显示通道数对ResNet18的影响前几层受益于多通道(最高2000MB/s)后几层在2通道后即饱和图10展示队列大小的影响32项队列导致大量停滞周期512项队列可减少38%的总周期数5.3 数据布局优化采用BANK交错存储避免冲突连续地址映射到不同BANK关键数据(如权重)复制到多个BANK动态调整访问模式匹配硬件特性6. 能耗建模与工具集成6.1 Accelergy集成能量估算流程定义加速器组件(PE、SRAM等)指定工艺参数(28nm/7nm等)根据操作计数估算动态能耗考虑泄漏功耗和时钟门控6.2 能效分析案例ViT-base模型的测试显示128×128阵列比32×32快6.53倍但32×32能效高2.86倍64×64在EDP(Energy-Delay Product)指标最优7. 典型应用场景7.1 Transformer加速针对ViT模型的优化采用4:8稀疏比压缩注意力矩阵使用时空分区平衡计算负载配置HBM内存缓解带宽压力7.2 卷积网络优化ResNet18的实践建议早期层使用较小稀疏比(2:4)后期层可增大到1:4对1×1卷积采用特殊数据布局8. 使用指南与问题排查8.1 配置文件示例system: array_rows: 64 array_cols: 64 cores: 4 memory: l1_size: 64KB l2_size: 512KB dram_channels: 4 sparsity: enabled: true block_size: 8 optimized_mapping: true8.2 常见问题解决性能低于预期检查DRAM通道是否饱和验证稀疏比设置是否合理调整数据流(WS/OS/IS)内存溢出错误增加L2共享缓存大小优化分区策略减少数据重复启用更激进的稀疏压缩模拟速度慢先使用分析模式筛选配置限制跟踪详细程度对大型模型分段模拟9. 与其他工具对比表1对比了主流模拟器的特性特性MAESTROTimeloopSCALE-Sim v3周期精确❌❌✔️多核支持❌✔️✔️稀疏计算❌❌✔️DRAM建模❌❌✔️能耗估算✔️✔️✔️SCALE-Sim v3在保持周期精确的同时提供了最全面的现代加速器特性支持。10. 实际部署建议在TPUv4类加速器上的优化经验对GEMM主导负载采用权重固定(WS)数据流设置32×32子阵列使用2:4稀疏比对混合负载配置异构核(大阵列小阵列)向量操作交给SIMD单元动态调整分区策略内存敏感型应用优先增加通道数而非频率使用HBM代替DDR优化数据布局减少冲突