CIM-MLC:面向计算 - 内存加速器的多级编译框架
内容提要
该文综述存内计算(CiM/PIM)研究:提出面向瓦片式存内计算架构的跨层调度算法CLSA-CIM,利用率最高提升17.9倍,速度提升29.2倍;验证CiM可显著降低机器学习推断能耗;探讨PIM在数据中心、关联处理器、神经架构搜索及编译基础设施(如MLIR)中的应用,并介绍高能效全模拟多位计算架构AiDAC。
延伸解读
存内计算的实际收益与适用条件
文章通过实验表明,存内计算(CiM)在机器学习推断中可显著降低能耗,INT-8精度下能耗可低至0.12倍,结合重复权重交错技术还能获得最高4倍的性能增益。但文章也指出,CiM的收益并非无条件,其适合的类型以及集成到缓存层级的位置都会影响最终效果。读者在评估CiM方案时,需结合具体工作负载和精度要求,而非简单假设其普遍优于传统架构。
跨层调度对利用率的提升
针对瓦片式存内计算架构,文章提出的跨层调度算法CLSA-CIM与现有权重映射策略结合后,相比最先进的调度算法,利用率最高提升17.9倍,整体速度最高提升29.2倍。这一结果说明,在硬件架构确定后,调度与映射策略对实际性能有决定性影响。对于关注存内计算落地的读者,除了器件本身,编译与调度层的优化同样值得重视。
编译基础设施与设计自动化
文章提及MLIR作为新型编译器基础结构,旨在通过适应不同应用域、硬件目标和执行环境的代码生成器、转换器和优化器,解决软件碎片化问题,并降低领域特定编译器的构建成本。此外,AutoAccel框架可自动生成加速器设计,NACIM框架则结合架构与硬件设计寻找高效神经架构。这些工作表明,存内计算的发展不仅依赖器件创新,也离不开编译工具和设计自动化的支撑。
全模拟多位计算架构的探索
文章介绍了AiDAC这一创新AiMC架构,通过In-charge computing和In-time interconnection,提高了多位计算效率,减少了数据转换时间,支持大规模全模拟多位向量矩阵乘法运算,并保持高精度计算,同时具备高并行性、低延迟和高能效优势。这代表存内计算在模拟域实现多位计算的一种尝试,但其实际部署效果仍需结合具体工艺和场景进一步验证。
Q&A
CLSA-CIM 是什么?它有什么作用?
CLSA-CIM 是一种适用于瓦片式计算内存架构的跨层调度算法。它通过结合现有的权重映射策略,与最先进的调度算法相比,最多提高了 17.9 倍的利用率,从而使整体速度提高了最多 29.2 倍。
计算内存(CiM)在机器学习推断中能带来哪些能效优势?
CiM 架构可以提高能源效率,达到低至以 INT-8 精度 0.12 倍的能源消耗,并在重复权重交错技术下实现最高 4 倍的性能增益。
NACIM 框架是什么?它有什么特点?
NACIM 是一个跨层设计的框架,将计算在内存中的架构和硬件设计相结合,同时考虑设备差异和电路拓扑,旨在找到具有高网络精度和最大化硬件效率的最有效的神经架构。在存在设备变异的情况下,准确率损失最小,能效高达 16.3 TOPs/W,相比不考虑设备变异的现有架构,NACIM 能够降低 76.44% 的能效损失。
MLIR 是什么?它解决了什么问题?
MLIR 是一种新型的编译器基础结构方法,旨在通过适应不同应用域、硬件目标和执行环境的代码生成器、转换器和优化器,解决软件碎片化问题,改善异构硬件编译,显著降低领域特定编译器的构建成本,促进现有编译器的连接,同时提供扩展和演进的研究工具。
AiDAC 架构是什么?它有什么创新?
AiDAC 是一种高能效全模拟多位计算架构,通过引入 In-charge computing 和 In-time interconnection 的创新 AiMC 架构,提高了多位计算效率,减少了数据转换时间,支持大规模的全模拟多位向量矩阵乘法运算,并保持高精度计算,同时具备高并行性、低延迟和高能效优势。
PIM 架构在机器学习训练中有哪些潜力?
研究探讨了基于内存为中心的计算系统中处理器内存访问瓶颈和大量能量消耗的解决方案,考察 PIM 架构对机器学习算法训练的潜力,通过评估经典算法在 PIM 和传统 CPU、GPU 上的性能、准确度和扩展性对比,表现出更高效的处理机制和更好的加速效果。