RACAM架构:突破DRAM-PIM性能瓶颈的位串行设计
1. RACAM架构突破DRAM-PIM性能瓶颈的位串行设计在AI模型规模爆炸式增长的今天内存墙已成为制约大语言模型(LLM)推理性能的首要瓶颈。传统GPU架构中高达60-70%的能耗消耗在数据搬运而非实际计算上。RACAM通过创新的位串行内存计算架构从根本上重构了计算范式。我曾在部署175B参数的GPT-3模型时亲眼见证即使使用H100 GPU集群解码阶段的吞吐量仍被内存带宽严重制约。这种现象催生了我们对Processing-in-Memory(PIM)技术的深入研究。与常规PIM方案不同RACAM的突破性在于其三位一体的设计哲学位级复用架构通过17行专用局部性缓冲将n-bit整数乘法的DRAM行激活次数从O(n²)降至O(n)。实测显示8-bit乘法延迟从传统PUD方案的136ns降至仅28ns。层级化数据广播利用DRAM内部高带宽特性在bank和column级别构建硬件广播网络。以GPT-3的权重矩阵为例广播单元减少数据迁移量达16倍从512GB降至32GB。自主映射框架将GEMM运算的M/N/K维度智能映射到DRAM的channel/rank/bank层级。在Llama-70B的注意力层中该框架自动选择{R:MN, C:K}的块映射策略使计算密度提升4.3倍。关键洞见RACAM最显著的性能增益来自解码阶段。当处理8192输入token256输出token的上下文理解场景时其吞吐量达到H100的15.6倍。这印证了LLM推理中解码阶段受内存限制更严重的特性。2. 位串行计算引擎的微架构创新2.1 带局部性缓冲的位串行PE设计传统PUD系统的O(n²)复杂度源于其必须为每个乘数位重新读取所有被乘数位。RACAM的PE阵列采用如图5a所示的1-bit全加器结构配合17行局部性缓冲实现位级复用。具体工作流程初始化阶段将操作数1的bit#0~3和操作数2的bit#0预加载到缓冲区的0~4行位串行计算当B1时执行AC的1-bit加法更新进位当B0时直接输出C值结果回写每个结果bit在计算完成后立即写回DRAM阵列实测数据表明该设计使8-bit乘法仅需5个计算步骤图6a步骤0计算result[0:3] op1[0:3] op2[0]步骤1-3迭代计算中间结果并累加进位步骤4完成最终位输出2.2 层次化广播网络设计RACAM的广播单元采用两级分发架构图5c// Bank级广播示例 module bank_broadcast ( input [63:0] data_in, input bank_select[15:0], output reg [63:0] data_out[15:0] ); always (*) begin for (int i0; i16; i) data_out[i] bank_select[i] ? data_in : 64bz; end endmodule这种设计带来三大优势带宽优化在Llama-7B的QKV投影层内部广播使所需IO带宽从38.4GB/s降至2.4GB/s能效提升相比主机端数据复制片内广播节省约92%的传输能耗延迟隐藏与计算操作流水执行在GPT-3的FFN层实现100%的广播重叠率2.3 基于popcount的归约加速传统DRAM-PIM面临列归约的挑战。RACAM的创新popcount单元图5b采用位片累加算法sum 0 for i in 0..n-1: bitslice read_column_bitmask(i) sum popcount(bitslice) i在128 subarrays的配置下该单元能在单周期完成1024个1-bit输入的统计使8-bit矩阵乘的归约延迟从512ns降至64ns。3. 智能映射框架的实现细节3.1 分层映射策略RACAM的映射引擎将GEMM运算分解为两个层次图7Hierarchical Mapping将M/N/K维度映射到DRAM物理层级典型模式{M:RB, N:CD, K:A}例如将attention层的query矩阵行映射到rank/bankBlock Mapping确定子阵列内部的数据布局常用策略{R:MN, C:K}每列存储输入矩阵切片和部分和表1对比了不同LLM层的优选映射方案模型层类型推荐Hierarchical MappingBlock Mapping性能增益Attention QKV{M:RB, N:CD}{R:MN, C:K}4.2xFFN第一层{M:R, N:BD, K:AC}{R:M, C:NK}3.7xFFN第二层{M:RB, N:CD, K:A}{R:MN, C:K}5.1x3.2 动态切分算法当矩阵块超过子阵列容量时RACAM采用三级切分def temporal_tiling(M, N, K, rows, cols): m_tiles ceil(M / sqrt(rows)) n_tiles ceil(N / sqrt(rows)) k_tiles ceil(K / cols) return m_tiles * n_tiles * k_tiles在GPT-3的32K上下文场景中该算法将120MB的权重矩阵智能分割为2,048个计算块保持96%的硬件利用率。4. 实测性能与优化启示4.1 端到端推理加速图9的基准测试显示在代码生成场景(1024输入4096输出token)GPT-3 175B102x于H100Llama-3 70B91x于H100值得注意的是prefill阶段也获得1.9x加速这打破了PIM只擅长解码的传统认知。关键原因在于RACAM的位级复用有效缓解了GEMM计算中的内存瓶颈。4.2 能效比突破图11的面积规一化性能显示解码阶段466.8x H100Prefill阶段8.0x H100这种巨大差异源于两个架构本质计算密度RACAM的1024 PE/bank配置提供98.6TOPS/mm²int8数据局部性权重常驻DRAM消除90%以上的HBM访问4.3 实际部署建议基于我们的部署经验给出三点关键建议精度选择注意力层8-bit精度足够嵌入层建议保持16-bit// 混合精度配置示例 #define ATTENTION_PRECISION 8 #define EMBEDDING_PRECISION 16批处理策略解码阶段batch_size≤4以避免bank冲突Prefill阶段可增至batch_size32温度监控# DRAM温度调节算法 def thermal_throttle(temp): if temp 85°C: reduce_activation_parallelism(50%) if temp 95°C: disable_bank_rotation()5. 架构局限性与演进方向尽管RACAM表现出色我们仍观察到以下挑战工艺约束局部性缓冲需采用45nm SRAM工艺与DRAM本体的14nm工艺存在兼容性问题编程模型; 当前需要手动指定映射策略 !racam_mapping !{!0} !0 !{!hierarchical, i32 0, i32 1, i32 2}动态工作负载在beam search场景下映射策略需动态调整当前框架重构耗时约2ms/次未来我们将重点优化采用3D堆叠技术集成计算单元开发基于ML的自动映射预测器支持稀疏化计算模式