[论文解读] Tango: A Deep Neural Network Benchmark Suite for Various Accelerators
Tango 是一个基于 CUDA 和 OpenCL 的深度神经网络基准测试套件,可在无需依赖专有 DNN 框架或库的情况下,实现对各类加速器上 DNN 工作负载的可移植、轻量级评估。它对五种卷积神经网络(CNN)和两种循环神经网络(RNN)在模拟器、GPU 和 FPGA 上进行了详细的架构剖析,揭示了内存访问模式、寄存器使用情况以及调度器敏感性等关键洞察——尤其体现出卷积层中存在高度的数据局部性,以及 GPU 寄存器的显著未充分利用现象。
Deep neural networks (DNNs) have been proving the effectiveness in various computing fields. To provide more efficient computing platforms for DNN applications, it is essential to have evaluation environments that include assorted benchmark workloads. Though a few DNN benchmark suites have been recently released, most of them require to install proprietary DNN libraries or resource-intensive DNN frameworks, which are hard to run on resource-limited mobile platforms or architecture simulators. To provide a more scalable evaluation environment, we propose a new DNN benchmark suite that can run on any platform that supports CUDA and OpenCL. The proposed benchmark suite includes the most widely used five convolution neural networks and two recurrent neural networks. We provide in-depth architectural statistics of these networks while running them on an architecture simulator, a server- and a mobile-GPU, and a mobile FPGA.
研究动机与目标
- 解决当前缺乏可移植、轻量级的 DNN 基准测试套件的问题,这些套件无需依赖 DNN 框架或专有库,即可在资源受限平台上进行评估。
- 通过提供与架构模拟器和嵌入式加速器(如 FPGA)兼容的基准测试套件,支持早期硬件评估。
- 对广泛使用的 DNN 模型在多种平台(包括模拟器、服务器 GPU、移动 GPU 和 FPGA)上进行深入的架构剖析。
- 分析片上内存层次结构和线程束调度策略对 DNN 性能的影响,尤其关注卷积层和全连接层。
提出的方法
- 该基准测试套件完全使用 CUDA C 和 OpenCL 实现,将 DNN 操作分解为低级数学计算,避免对高级 DNN 框架的依赖。
- 支持在任何具备 CUDA 或 OpenCL 支持的平台上运行五种 CNN(CifarNet、AlexNet、SqueezeNet、ResNet、VGGNet)和两种 RNN(GRU、LSTM)的仅推理执行。
- 通过修改后的 GPGPU-Sim 架构模拟器(采用 Pascal GPU 配置)收集架构特性,支持在不同缓存大小和调度器配置下进行受控实验。
- 测量并分析不同网络层和平台上的性能指标,如寄存器文件使用情况、L2 缓存未命中率以及线程束调度器行为。
- 该套件实现了在模拟器和真实硬件之间的一致性评估,使内存访问模式和资源利用率等架构权衡能够直接比较。
实验结果
研究问题
- RQ1不同 DNN 模型在各类平台上的内存占用有何差异?哪些模型适合在小型嵌入式设备上部署?
- RQ2DNN 工作负载中 GPU 寄存器的利用率在多大程度上偏低?这种现象在不同网络架构中如何变化?
- RQ3不同 DNN 层类型的数据局部性如何,特别是 L2 缓存未命中率如何?这对性能有何影响?
- RQ4DNN 执行时间对线程束调度策略的敏感性如何?不同 DNN 模型中哪种调度器表现最佳?
主要发现
- 卷积层的数据局部性显著高于全连接层,其 L2 未命中率低于 1%,而全连接层则超过 10%。
- 在 Pascal GPU 中,AlexNet 和 ResNet 使用了超过 50% 的每 SM 寄存器文件容量(256 KB),而 RNN 模型使用量不足 20 KB,表明 GPU 寄存器存在显著的未充分利用现象。
- 对于 AlexNet 和 ResNet,LRR(基本轮转调度)线程束调度器的表现优于 GTO 和 TLV,尤其在卷积层中,由于高数据局部性降低了内存停顿开销。
- GRU 和 LSTM 模型的内存占用在 500 KB 以内,因此适合在小型嵌入式设备上运行;而大多数 CNN 模型需要超过 1 MB 内存,需在 FPGA 上进行层划分。
- 片上内存对优化卷积层最为有效,因其具有高度的数据局部性;而其他内存密集型层(如全连接层)则需要采用其他优化技术。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。