Skip to main content
QUICK REVIEW

[论文解读] Interstellar

Xuan Yang, Mingyu Gao|arXiv (Cornell University)|Mar 9, 2020
Advanced Neural Network Applications参考文献 31被引用 56
一句话总结

本文通过将密集DNN加速器微架构建模为七个嵌套循环中的循环顺序和并行性选择,提出了一种形式化的分类法,利用Halide的调度语言来表示和生成硬件。在保持吞吐量的同时,通过优化资源分配——尤其是内存系统——该方法在CNN上实现了高达4.2倍的能效提升,在LSTM上实现了1.6倍,在MLP上实现了1.8倍。

ABSTRACT

We show that DNN accelerator micro-architectures and their program mappings represent specific choices of loop order and hardware parallelism for computing the seven nested loops of DNNs, which enables us to create a formal taxonomy of all existing dense DNN accelerators. Surprisingly, the loop transformations needed to create these hardware variants can be precisely and concisely represented by Halide's scheduling language. By modifying the Halide compiler to generate hardware, we create a system that can fairly compare these prior accelerators. As long as proper loop blocking schemes are used, and the hardware can support mapping replicated loops, many different hardware dataflows yield similar energy efficiency with good performance. This is because the loop blocking can ensure that most data references stay on-chip with good locality and the processing units have high resource utilization. How resources are allocated, especially in the memory system, has a large impact on energy and performance. By optimizing hardware resource allocation while keeping throughput constant, we achieve up to 4.2X energy improvement for Convolutional Neural Networks (CNNs), 1.6X and 1.8X improvement for Long Short-Term Memories (LSTMs) and multi-layer perceptrons (MLPs), respectively.

研究动机与目标

  • 将现有的密集DNN加速器微架构形式化为七个嵌套循环中的特定循环顺序和并行性选择。
  • 通过从Halide调度生成硬件,实现对先前加速器的公平比较。
  • 研究硬件资源分配,特别是内存系统,对能效和性能的影响。
  • 在保持吞吐量的前提下优化资源分配,以在CNN、LSTM和MLP上最大化能效。

提出的方法

  • 使用Halide的调度语言将DNN加速器微架构建模为循环变换,捕捉循环顺序和硬件并行性。
  • 扩展Halide编译器,从这些调度生成硬件描述,实现加速器变体的自动综合。
  • 应用循环分块方案以确保高数据局部性和片上数据重用,提升资源利用率。
  • 系统性地改变硬件资源分配——尤其是内存层次结构组件——同时保持吞吐量恒定。
  • 使用Halide编译器栈探索不同数据流配置下能效与性能之间的权衡。
  • 在标准DNN工作负载(CNN、LSTM和MLP)上评估生成的硬件设计,且在一致的吞吐量约束下进行。

实验结果

研究问题

  • RQ1如何利用循环变换和调度原理,对现有DNN加速器微架构进行形式化分类?
  • RQ2在应用适当的循环分块后,不同硬件数据流在性能和能效方面在多大程度上表现相似?
  • RQ3内存系统资源分配如何影响DNN加速器的能效和性能?
  • RQ4编译器驱动的方法能否生成可与先前加速器设计公平比较的硬件?
  • RQ5在保持吞吐量恒定的前提下,通过优化硬件资源分配,能实现的最大能效提升是多少?

主要发现

  • 适当的循环分块可确保高数据局部性和片上数据重用,从而在不同硬件数据流之间实现相似的性能和能效。
  • 当应用循环分块后,许多不同的硬件数据流由于有效的片上数据重用和高处理单元利用率,可实现相当的能效和性能。
  • 内存系统资源分配对DNN加速器的能效和性能具有主导性影响。
  • 通过在保持吞吐量的前提下优化内存资源分配,该方法在卷积神经网络(CNNs)上实现了高达4.2倍的能效提升。
  • 对于长短期记忆网络(LSTMs),该方法实现了1.6倍的能效提升;对于多层感知机(MLPs),实现了1.8倍的提升。
  • 基于Halide的硬件生成系统通过精确的调度驱动综合,实现了对先前加速器设计的公平、系统化和自动化比较。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

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