Software pipelining loops with conditional branches

被引:8
|
作者
Stoodley, MG
Lee, CG
机构
关键词
D O I
10.1109/MICRO.1996.566467
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Software pipelining is an aggressive scheduling technique that generates efficient code for loops and is particularly effective far VLIW architectures. Few software pipelining algorithms. however, are able to efficiently schedule loops that contain conditional branches. We have developed an algorithm we call All Paths Pipelining (APP) that addresses this shortcoming of software pipelining. APP is designed to achieve optimal or near-optimal performance for any run of iterations while providing efficient code for transitioning between runs A run is the execution of consecutive iterations that all execute the same path through a loop. APP accomplishes this by using techniques from module scheduling and kernel recognition algorithms, the two main approaches for software pipelining loops. We have implemented the APP algorithm in our research compiler and have evaluated its performance by executing its generated code on a VLIW instruction-set simulator For a processor with five heterogeneous functional units APP is able to add another 1% to 23% increase in performance over basic software pipelining by effectively pipelining loops with conditional branches.
引用
收藏
页码:262 / 273
页数:12
相关论文
共 50 条
  • [1] Sources of parallelism in software pipelining loops with conditional branches
    Milicev, D
    Jovanovic, Z
    [J]. ACM SIGPLAN NOTICES, 2000, 35 (02) : 36 - 45
  • [2] Register allocation methods of improved software pipelining for loops with conditional branches
    Itoga, Hiroya
    Haraikawa, Tomohiro
    Yamashita, Yoshiyuki
    Nakata, Ikuo
    [J]. ELECTRONICS AND COMMUNICATIONS IN JAPAN PART III-FUNDAMENTAL ELECTRONIC SCIENCE, 2006, 89 (12): : 59 - 69
  • [3] TRACE SOFTWARE PIPELINING - A NOVEL TECHNIQUE FOR PARALLELIZATION OF LOOPS WITH BRANCHES
    WANG, J
    KRALL, A
    ERTL, MA
    EISENBEIS, C
    [J]. PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, 1994, 50 : 359 - 362
  • [4] A formal model of software pipelining loops with conditions
    Milicev, D
    Jovanovic, Z
    [J]. 11TH INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM, PROCEEDINGS, 1997, : 554 - 558
  • [5] Software pipelining of loops by the method of modulo scheduling
    V'yukova, N. I.
    Galatenko, V. A.
    Samborskii, S. V.
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2007, 33 (06) : 307 - 315
  • [6] New software pipelining branch - intensive loops
    Tsinghua Univ, Beijing, China
    [J]. Ruan Jian Xue Bao, 1 (16-24):
  • [7] Software pipelining of loops by the method of modulo scheduling
    N. I. V’yukova
    V. A. Galatenko
    S. V. Samborskii
    [J]. Programming and Computer Software, 2007, 33 : 307 - 315
  • [8] Predicated software pipelining technique for loops with conditions
    Milicev, D
    Jovanovic, Z
    [J]. FIRST MERGED INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM & SYMPOSIUM ON PARALLEL AND DISTRIBUTED PROCESSING, 1998, : 176 - 180
  • [9] RUMINATE METHOD-SOFTWARE PIPELINING ON NESTED LOOPS
    LEI WANG
    ZHIZHONGTANG and CHIHONG ZHANG(Dept. of Computer Science
    [J]. Wuhan University Journal of Natural Sciences, 1996, (Z1) : 430 - 436
  • [10] Time optimal software pipelining of loops with control flows
    Yun, HS
    Kim, J
    Moon, SM
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2003, 31 (05) : 339 - 391