Graph transformations for register-pressure-aware instruction scheduling

Graph transformations for register-pressure-aware instruction scheduling
复制标题

用于寄存器压力感知指令调度的图形转换

DOI:
10.1145/3497776.3517771
复制
发表时间:
2022
期刊:
International Conference on Compiler Construction
影响因子:
--
通讯作者:
Kerbow, Austin
Kerbow, Austin
中科院分区:
--
文献类型:
--
作者:
Shobaki, Ghassan;Bassett, Justin;Heffernan, Mark;Kerbow, Austin

文献摘要

参考文献

相似文献

本文提出了一种用于寄存器压力感知指令调度的图变换算法。所提出的转换向数据依赖图(DDG)添加边,以消除冗余或次优的解决方案。寄存器压力感知的指令调度旨在平衡两个相互冲突的目标:最大化并行级(ILP)和最小化寄存器压力(RP)。图变换以前已经提出了最大化ILP的问题,而不考虑RP,这是一个有限的实际价值的问题。在本文中,我们提出了RP最小化目标,这是一个重要的目标,在实践中的图形变换扩展的工作。各种成本函数被认为是代表RP,我们表明,建议的变换保持最优性相对于他们每个人。所提出的变换用于在应用分支定界(B&B)算法穷尽搜索最优解之前减小解空间的大小。在LLVM编译器中实现了所提出的变换和B&B算法,并在CPU目标和GPU目标上对其性能进行了实验评估。在CPU上使用SPEC CPU2017浮点基准测试,在GPU上使用PlaidML基准测试。结果表明,所提出的转换显着减少编译时间,同时给出大致相同的执行时间的性能。
This paper presents graph transformation algorithms for register-pressure-aware instruction scheduling. The proposed transformations add edges to the data dependence graph (DDG) to eliminate solutions that are either redundant or sub-optimal. Register-pressure-aware instruction scheduling aims at balancing two conflicting objectives: maximizing instruction-level parallelism (ILP) and minimizing register pressure (RP). Graph transformations have been previously proposed for the problem of maximizing ILP without considering RP, which is a problem of limited practical value. In the current paper, we extend that work by proposing graph transformations for the RP minimization objective, which is an important objective in practice. Various cost functions are considered for representing RP, and we show that the proposed transformations preserve optimality with respect to each of them. The proposed transformations are used to reduce the size of the solution space before applying a Branch-and-Bound (B&B) algorithm that exhaustively searches for an optimal solution. The proposed transformations and the B&B algorithm were implemented in the LLVM compiler, and their performance was evaluated experimentally on a CPU target and a GPU target. The SPEC CPU2017 floating-point benchmarks were used on the CPU and the PlaidML benchmarks were used on the GPU. The results show that the proposed transformations significantly reduce the compile time while giving approximately the same execution-time performance.
DOI: 10.1145/3505558
发表时间: 2022-01
期刊: ACM Transactions on Architecture and Code Optimization (TACO)
影响因子: --
作者:
Ghassan Shobaki;V. S. Gordon;P. Mchugh;Theodore Dubois;Austin Kerbow
通讯作者: Ghassan Shobaki;V. S. Gordon;P. Mchugh;Theodore Dubois;Austin Kerbow
DOI: 10.1147/rd.206.0551
发表时间: 1976
期刊: IBM J. Res. Dev.
影响因子: --
作者:
E. Fernández;T. Lang
通讯作者: T. Lang
使用组合优化方法实现寄存器压力最小化的预分配指令调度
DOI: 10.1145/2512432
发表时间: 2013
期刊: ACM Transactions on Architecture and Code Optimization (TACO)
影响因子: --
作者:
Ghassan Shobaki;Maxim Shawabkeh;Najm Eldeen Abu Rmaileh
通讯作者: Najm Eldeen Abu Rmaileh
最佳和启发式全局代码运动可最大限度地减少溢出
DOI: 10.1007/978-3-642-37051-9_2
发表时间: 2013
影响因子: 5.1
作者:
Gergö Barany;A. Krall
通讯作者: A. Krall
DOI: 10.1002/spe.2297
发表时间: 2015
期刊: Software: Practice and Experience
影响因子: --
作者:
Ghassan Shobaki;Laith Sakka;Najm Eldeen Abu Rmaileh;Hasan Al
通讯作者: Hasan Al