Demystifying on-the-fly spill code

被引:1
|
作者
Aletà, A
Codina, JM
Gonzàlez, A
Kaeli, D
机构
[1] UPC, Intel Labs, Barcelona, Spain
[2] Northeastern Univ, Boston, MA 02115 USA
关键词
modulo scheduling; register allocation; spill code;
D O I
10.1145/1064978.1065032
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Modulo scheduling is an effective code generation technique that exploits the parallelism in program loops by overlapping iterations. One drawback of this optimization is that register requirements increase significantly because values across different loop iterations can be live concurrently. One possible solution to reduce register pressure is to insert spill code to release registers. Spill code stores values to memory between the producer and consumer instructions. Spilling heuristics can be divided into two classes: 1) a posteri-ori approaches (spill code is inserted after scheduling the loop) or 2) on-the-fly approaches (spill code is inserted during loop scheduling). Recent studies have reported obtaining better results for spilling on-the-fly. In this work, we study both approaches and propose two new techniques, one for each approach. Our new algorithms try to address the drawbacks observed in previous proposals. We show that the new algorithms outperform previous techniques and, at the same time, reduce compilation time. We also show that much to our surprise, a posteriori spilling can be in fact slightly more effective than on-the-fly spilling.
引用
收藏
页码:180 / 189
页数:10
相关论文
共 50 条
  • [1] Syntax-aware on-the-fly code completion
    Takerngsaksiri, Wannita
    Tantithamthavorn, Chakkrit
    Li, Yuan-Fang
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2024, 165
  • [2] Hybrid windowed networks for on-the-fly Doppler broadening in RMC code
    Tian-Yi Huang
    Ze-Guang Li
    Kan Wang
    Xiao-Yu Guo
    Jin-Gang Liang
    [J]. Nuclear Science and Techniques, 2021, 32
  • [3] Hybrid windowed networks for on-the-fly Doppler broadening in RMC code
    Tian-Yi Huang
    Ze-Guang Li
    Kan Wang
    Xiao-Yu Guo
    Jin-Gang Liang
    [J]. Nuclear Science and Techniques, 2021, 32 (06) : 72 - 84
  • [4] On-the-fly conformance testing of safety PLC code using QuickCheck
    Khan, Adnan
    Thoennessent, David
    Fahian, Martin
    [J]. 2019 IEEE 17TH INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS (INDIN), 2019, : 419 - 424
  • [5] Hybrid windowed networks for on-the-fly Doppler broadening in RMC code
    Huang, Tian-Yi
    Li, Ze-Guang
    Wang, Kan
    Guo, Xiao-Yu
    Liang, Jin-Gang
    [J]. NUCLEAR SCIENCE AND TECHNIQUES, 2021, 32 (06)
  • [6] On-the-fly Improving Performance of Deep Code Models via Input Denoising
    Tian, Zhao
    Chen, Junjie
    Zhang, Xiangyu
    [J]. 2023 38TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE, 2023, : 560 - 572
  • [7] Research on the on-the-fly homogenization method based on RMC code for criticality calculations
    Yuan, Yuan
    Xing, Ji
    Huo, Xiaodong
    Wang, Kan
    [J]. ANNALS OF NUCLEAR ENERGY, 2020, 135 (135)
  • [8] ACACIA: a new method to produce on-the-fly merger trees in the RAMSES code
    Ivkovic, Mladen
    Teyssier, Romain
    [J]. MONTHLY NOTICES OF THE ROYAL ASTRONOMICAL SOCIETY, 2022, 510 (01) : 959 - 979
  • [9] On-the-fly training
    Melenchón, J
    Meler, L
    Iriondo, I
    [J]. ARTICULATED MOTION AND DEFORMABLE OBJECTS, PROCEEDINGS, 2004, 3179 : 146 - 153
  • [10] ON-THE-FLY ROUNDING
    ERCEGOVAC, MD
    LANG, T
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 1992, 41 (12) : 1497 - 1503