Skip to main content
QUICK REVIEW

[论文解读] IOS: Inter-Operator Scheduler for CNN Acceleration

Yaoyao Ding, Ligeng Zhu|arXiv (Cornell University)|Nov 2, 2020
Advanced Neural Network Applications参考文献 23被引用 5
一句话总结

IOS 提出了一种基于动态规划的跨操作符调度器,用于在多个阶段之间优化卷积神经网络(CNN)操作符的并行执行,显著提升了 GPU 利用率和推理性能。通过联合利用不同硬件和批处理大小下的操作符内与操作符间并行性,其性能相比当前最先进的库(如 TensorRT)实现了 1.1x 至 1.5x 的加速。

ABSTRACT

To accelerate CNN inference, existing deep learning frameworks focus on optimizing intra-operator parallelization. However, a single operator can no longer fully utilize the available parallelism given the rapid advances in high-performance hardware, resulting in a large gap between the peak performance and the real performance. This performance gap is more severe under smaller batch sizes. In this work, we extensively study the parallelism between operators and propose Inter-Operator Scheduler (IOS) to automatically schedule multiple operators' parallel execution through a novel dynamic programming algorithm. IOS consistently outperforms state-of-the-art libraries (e.g., TensorRT) by 1.1 to 1.5x on modern CNN benchmarks. The code to reproduce each experiment is available at: https://github.com/mit-han-lab/inter-operator-scheduler.

研究动机与目标

  • 为解决峰值硬件性能与实际 CNN 推理效率之间的性能差距,尤其是在小批处理大小下的性能差距。
  • 克服现有操作符内并行性优化方法的局限性,这些方法无法充分利用现代高性能硬件。
  • 开发一种全局最优的调度策略,协调 CNN 层之间的操作符间并行性,避免次优的贪心或启发式方法。
  • 设计一种硬件感知的调度器,能够适应不同的批处理大小和设备能力,确保一致的性能提升。
  • 在实现优于现有自动调优框架(如 TVM)的吞吐量的同时,降低优化成本。

提出的方法

  • IOS 将跨操作符调度问题建模为一个动态规划任务,以寻找能够最大化多阶段 GPU 利用率的最优执行顺序。
  • 将计算图建模为有向无环图(DAG),其中操作符为节点,数据依赖关系为边,并使用状态转移函数探索可行的调度方案。
  • 通过递归评估子调度并选择在硬件约束下最小化延迟或最大化利用率的方案,计算出最优调度。
  • 与现有深度学习库(如 cuDNN)集成以实现操作符内并行性,仅专注于跨操作符协调,从而降低优化开销。
  • 通过分析执行阶段的性能特征,将硬件特定瓶颈(如内存带宽和共享资源竞争,例如 L3 缓存)纳入考虑。
  • 通过为每种设置生成独立的最优调度方案,支持对不同批处理大小的动态适应,确保在各类推理工作负载中保持一致的性能表现。

实验结果

研究问题

  • RQ1基于动态规划的调度器是否能在 CNN 推理中实现比启发式或贪心调度更高的 GPU 利用率?
  • RQ2当操作符内并行性不足时,跨操作符调度在不同批处理大小下的性能影响如何,尤其是在小批处理大小下?
  • RQ3与当前最先进的库(如 TensorRT 和 TVM)相比,跨操作符调度在提升吞吐量方面能达到多大程度的改进?
  • RQ4在跨操作符调度中,优化计算成本与性能增益之间的权衡如何?
  • RQ5在高并发执行场景下,该调度器如何处理资源竞争和内存访问瓶颈?

主要发现

  • 在包括 Inception V3、SqueezeNet 和 NASNet 在内的多个现代 CNN 基准测试中,IOS 相比当前最先进的库(如 TensorRT)实现了 1.1x 至 1.5x 的加速。
  • 无论批处理大小从 1 到 128,该调度器在所有情况下均优于基线方法,尤其在低批处理大小下性能提升最为显著,此时跨操作符并行性最为关键。
  • 在批处理大小为 1 时,IOS 优化的调度比为批处理大小 32 优化的调度快 28%,凸显了批处理感知调度的重要性。
  • IOS 将优化成本降低至仅 3 个 GPU 小时,远低于 TVM 的 208 个 GPU 小时,同时在 Inception V3 和 SqueezeNet 上仍优于 TVM。
  • 操作符内与操作符间并行性的结合是正交且互补的:IOS 专注于跨操作符调度,而 TVM 专注于操作符内核优化,表明联合优化可带来进一步性能提升。
  • 在调度中合并操作符(如 f 和 g)可消除中间激活,从而减少内存访问,即使因此增加计算量,但在大批次大小下由于内存瓶颈,这种优化仍具有显著优势。

更好的研究,从现在开始

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

无需绑定信用卡

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