Skip to main content
QUICK REVIEW

[论文解读] SMAUG: End-to-End Full-Stack Simulation Infrastructure for Deep Learning Workloads

Sam Likun Xi, Yuan Yao|arXiv (Cornell University)|Dec 10, 2019
Advanced Neural Network Applications参考文献 63被引用 10
一句话总结

SMAUG 是一种新颖的深度学习框架,专为在全系统 SoC 模拟器(gem5-Aladdin)中实现端到端、周期精确的 DNN 工作负载仿真而设计,可在无需 RTL 的情况下实现早期硬件-软件协同设计。通过优化数据移动、软件栈开销和 SoC-加速器接口,SMAUG 在不修改加速器微架构的前提下,将端到端推理延迟最高提升了 5 倍。

ABSTRACT

In recent years, there has been tremendous advances in hardware acceleration of deep neural networks. However, most of the research has focused on optimizing accelerator microarchitecture for higher performance and energy efficiency on a per-layer basis. We find that for overall single-batch inference latency, the accelerator may only make up 25-40%, with the rest spent on data movement and in the deep learning software framework. Thus far, it has been very difficult to study end-to-end DNN performance during early stage design (before RTL is available) because there are no existing DNN frameworks that support end-to-end simulation with easy custom hardware accelerator integration. To address this gap in research infrastructure, we present SMAUG, the first DNN framework that is purpose-built for simulation of end-to-end deep learning applications. SMAUG offers researchers a wide range of capabilities for evaluating DNN workloads, from diverse network topologies to easy accelerator modeling and SoC integration. To demonstrate the power and value of SMAUG, we present case studies that show how we can optimize overall performance and energy efficiency for up to 1.8-5x speedup over a baseline system, without changing any part of the accelerator microarchitecture, as well as show how SMAUG can tune an SoC for a camera-powered deep learning pipeline.

研究动机与目标

  • 解决缺乏支持端到端、早期阶段全栈 DNN 性能评估的仿真基础设施的问题,尤其是在 RTL 尚未可用时。
  • 识别并量化在加速器计算之外的端到端 DNN 推理性能瓶颈,特别是数据移动和软件栈开销方面的影响。
  • 为研究人员提供一个灵活、快速且可扩展的框架,用于协同设计 DNN 推理的加速器、SoC 和软件栈。
  • 支持对系统级因素(如数据布局转换、多加速器调度和 SoC 接口效率)的优化。

提出的方法

  • SMAUG 基于 gem5-Aladdin 构建,利用其对异构 SoC 的周期精确、全系统仿真能力,无需为加速器建模提供 RTL。
  • 提供 Python API 用于定义 DNN 架构,并支持广泛的算子和网络拓扑。
  • 该框架包含完整的软件栈,负责管理算子分块、多线程调度、同步以及 CPU、加速器和内存之间的数据移动。
  • SMAUG 通过行为模型支持即插即用的自定义硬件加速器集成,可快速探索加速器微架构。
  • 支持复杂 SoC 拓扑的仿真,包括多个加速器、内存层次结构以及系统级竞争。
  • 该框架能够对加速器和系统级活动(包括数据移动和 CPU 处理开销)进行精确的性能与能效建模。

实验结果

研究问题

  • RQ1在真实工作负载中,端到端 DNN 推理延迟中,有多少比例归因于加速器计算,又有多少比例归因于数据移动和软件栈开销?
  • RQ2系统级因素(如数据布局转换、SoC 接口设计和多加速器调度)如何影响整体 DNN 推理性能?
  • RQ3在不改变底层加速器微架构的前提下,通过软件和系统级优化,端到端性能最多可提升多少?
  • RQ4一种支持全栈、周期精确仿真的框架,能否实现更快、更有效的 DNN 加速器硬件-软件协同设计?

主要发现

  • 平均而言,仅 25% 的端到端推理延迟用于加速器计算,而 34% 用于数据移动,42% 用于软件栈中的 CPU 处理。
  • 通过优化 SoC-加速器接口和软件栈管理,SMAUG 在不改变加速器微架构的前提下,实现了端到端推理延迟最高 5 倍的提升。
  • 对于基于摄像头的深度学习流水线,SMAUG 支持系统级调优,通过优化数据流和加速器利用率,实现了显著的性能提升。
  • 该框架通过避免对 RTL 或 HLS 的依赖,实现了快速的仿真速度,从而支持对加速器和 SoC 的快速设计空间探索。
  • 案例研究显示,通过改进数据布局、调度和接口效率等系统级优化,性能可提升 1.8 至 5 倍。
  • SMAUG 表明,软件和系统级瓶颈是主要的性能制约因素,而全面的、全栈仿真对于识别和解决这些问题至关重要。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。