Skip to main content
QUICK REVIEW

[论文解读] Fusion of Array Operations at Runtime

Mads Ruben Burgdorff Kristensen, Simon Andreas Frimann Lund|arXiv (Cornell University)|Jan 20, 2016
Embedded Systems Design Techniques参考文献 25被引用 9
一句话总结

本文提出了加权子程序划分(WSP)问题,这是一种通过将融合建模为具有可定制成本函数的图划分问题,实现实时融合数组操作、循环和组合子的统一框架。该文提出了一种用于最优融合的分支定界算法,以及一种适用于即时(JIT)编译的快速贪心近似算法,在15个基准测试中实现了显著的性能提升(2倍至30倍),且最优方法与近似方法之间的性能差异极小。

ABSTRACT

We address the problem of fusing array operations based on criteria such as shape compatibility, data reusability, and communication. We formulate the problem as a graph partition problem that is general enough to handle loop fusion, combinator fusion, and other types of subroutines.

研究动机与目标

  • 将循环融合、数组操作融合和组合子融合统一于单一形式化框架之下。
  • 通过灵活的成本函数对融合决策进行建模,以捕捉数据局部性、内存访问、通信等优化目标。
  • 开发高效算法——包括最优与近似算法——以用于高性能计算中的即时(JIT)编译。
  • 评估不同成本模型与融合策略对实际基准测试的影响。
  • 证明快速近似算法可实现接近最优方法的性能增益。

提出的方法

  • 将融合问题形式化为混合图上的加权子程序划分(WSP)问题,其中顶点表示子程序,有向边表示依赖关系,无向边表示可融合约束。
  • 定义一个单调成本函数,对数据访问、内存使用和通信进行惩罚,同时确保融合为成本中性或有益。
  • 证明WSP为NP难问题,从而证明高效算法的必要性。
  • 实现一种分支定界算法以计算最优融合划分,通过成本边界进行剪枝。
  • 设计一种贪心近似算法,每轮JIT编译运行时间少于20次迭代,从而分摊开销。
  • 将所有算法集成至Bohrium框架中,对15个实际基准测试在不同成本模型下评估融合效果。

实验结果

研究问题

  • RQ1是否存在一种统一的形式化方法,可将循环融合、数组操作融合与组合子融合统一于同一优化框架之下?
  • RQ2可定制成本函数的引入如何影响融合策略的表达能力与性能表现?
  • RQ3在性能与编译开销之间,基于分支定界的最优融合与基于贪心算法的快速近似融合之间存在何种权衡?
  • RQ4在不同基准测试中,Max Locality、Max Contract与Robinson等不同成本模型的实际表现如何比较?
  • RQ5在真实工作负载中,近似算法在多大程度上能实现接近最优解的性能?

主要发现

  • WSP形式化成功地将循环、数组与组合子融合统一于单一图划分模型下,且支持可定制成本函数。
  • 分支定界算法在15个基准测试中的10个中于合理时间内找到了最优解,验证了其在编译中的可行性。
  • 贪心近似算法在实践中实现了接近最优的性能,仅在最佳基准(生命游戏)中比最优方法慢1.3倍。
  • 近似算法已提供了绝大部分性能增益,表明进一步优化以追求精确性带来的收益递减。
  • Max Contract成本模型在其他模型优先考虑数据局部性而牺牲融合机会的情况下,唯一实现了对数组收缩的最大化。
  • 总体而言,融合显著减少了数据访问次数,并在基准测试中实现了2倍至30倍的性能提升,且在大多数情况下不同成本模型之间性能差异极小。

更好的研究,从现在开始

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

无需绑定信用卡

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