Exploring an Alternative Cost Function for Combinatorial Register-Pressure-Aware Instruction Scheduling

Author:

Shobaki Ghassan1,Kerbow Austin1,Pulido Christopher1,Dobson William1

Affiliation:

1. California State University, Sacramento

Abstract

Multiple combinatorial algorithms have been proposed for doing pre-allocation instruction scheduling with the objective of minimizing register pressure or balancing register pressure and instruction-level parallelism. The cost function that is minimized in most of these algorithms is the peak register pressure (or the peak excess register pressure). In this work, we explore an alternative register-pressure cost function, which is the Sum of Live Interval Lengths (SLIL). Unlike the peak cost function, which captures register pressure only at the highest pressure point in the schedule, the proposed SLIL cost function captures register pressure at all points in the schedule. Minimizing register pressure at all points is desirable in larger scheduling regions with multiple high-pressure points. This article describes a Branch-and-Bound (B8B) algorithm for minimizing the SLIL cost function. The algorithm is based on two SLIL-specific dynamic lower bounds as well as the history utilization technique proposed in our previous work. The proposed algorithm is implemented into the LLVM Compiler and evaluated experimentally relative to our previously proposed B8B algorithm for minimizing the peak excess register pressure. The experimental results show that the proposed algorithm for minimizing the SLIL cost function produces substantially less spilling than the previous algorithm that minimizes the peak cost function. Execution-time results on various processors show that the proposed B8B algorithm significantly improves the performance of many CPU2006 benchmarks by up to 49% relative to LLVM's default scheduler. The geometric-mean improvement for FP2006 on Intel Core i7 is 4.22%.

Funder

College of Engineering and Computer Science (ECS) at California State University, Sacramento

Publisher

Association for Computing Machinery (ACM)

Subject

Hardware and Architecture,Information Systems,Software

Reference23 articles.

1. Optimal and Heuristic Global Code Motion for Minimal Spilling

2. T. Cormen C. Leiserson R. Rivest and C. Stein. 2009. Introduction to Algorithms (3rd ed.). The MIT Press. T. Cormen C. Leiserson R. Rivest and C. Stein. 2009. Introduction to Algorithms (3rd ed.). The MIT Press.

3. Register allocation and promotion through combined instruction scheduling and loop unrolling

4. Code scheduling and register allocation in large basic blocks

Cited by 3 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Graph transformations for register-pressure-aware instruction scheduling;Proceedings of the 31st ACM SIGPLAN International Conference on Compiler Construction;2022-03-18

2. Register-Pressure-Aware Instruction Scheduling Using Ant Colony Optimization;ACM Transactions on Architecture and Code Optimization;2022-01-31

3. Optimizing occupancy and ILP on the GPU using a combinatorial approach;Proceedings of the 18th ACM/IEEE International Symposium on Code Generation and Optimization;2020-02-21

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3