The LRPD test: Speculative run-time parallelization of loops with privatization and reduction parallelization

被引:100
|
作者
Rauchwerger, L [1 ]
Padua, DA
机构
[1] Texas A&M Univ, Dept Comp Sci, College Stn, TX 77843 USA
[2] Univ Illinois, Dept Comp Sci, Urbana, IL 61820 USA
关键词
compilers; parallel processing; speculative; run-time; DOALL; reduction; privatization;
D O I
10.1109/71.752782
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Current parallelizing compilers cannot identify a significant fraction of parallelizable loops because they have complex or statically insufficiently defined access patterns. As parallelizable loops arise frequently in practice, we advocate a novel framework for their identification: speculatively execute the loop as a doa11 and apply a fully parallel data dependence test to determine if it had any cross-iteration dependences; if the test fails. then the loop is reexecuted serially. Since, from our experience, a significant amount of the available parallelism in Fortran programs can be exploited by loops transformed through privatization and reduction parallelization, our methods can speculatively apply these transformations and then check their validity at run-time. Another important contribution of this paper is a novel method for reduction recognition which goes beyond syntactic pattern matching: It detects at run-time if the values stored in an array participate in a reduction operation, even if they are transferred through private variables and/or are affected by statically unpredictable control flow. We present experimental results on loops from the PERFECT Benchmarks, which substantiate our claim that these techniques can yield significant speedups which are often superior to those obtainable by inspector/executor methods.
引用
收藏
页码:160 / 180
页数:21
相关论文
共 50 条
  • [1] THE LRPD TEST - SPECULATIVE RUN-TIME PARALLELIZATION OF LOOPS WITH PRIVATIZATION AND REDUCTION PARALLELIZATION
    RAUCHWERGER, L
    PADUA, D
    [J]. SIGPLAN NOTICES, 1995, 30 (06): : 218 - 232
  • [2] Principles of speculative run-time parallelization
    Patel, D
    Rauchwerger, L
    [J]. LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 1999, 1656 : 323 - 337
  • [3] RUN-TIME PARALLELIZATION AND SCHEDULING OF LOOPS
    SALTZ, JH
    MIRCHANDANEY, R
    BAXTER, D
    [J]. SPAA 89: PROCEEDINGS OF THE 1989 ACM SYMPOSIUM ON PARALLEL ALGORITHMS AND ARCHITECTURES, 1989, : 303 - 312
  • [4] RUN-TIME PARALLELIZATION AND SCHEDULING OF LOOPS
    SALTZ, JH
    MIRCHANDANEY, R
    CROWLEY, K
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 1991, 40 (05) : 603 - 612
  • [5] Run-time parallelization for partially parallel loops
    Yang, CT
    Tseng, SS
    Kao, SH
    Hsieh, MH
    Jiang, MF
    [J]. 1997 INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, PROCEEDINGS, 1997, : 308 - 313
  • [6] Efficient run-time parallelization for DO loops
    Yang, CT
    Tseng, SS
    Hsieh, MH
    Kao, SH
    [J]. JOURNAL OF INFORMATION SCIENCE AND ENGINEERING, 1998, 14 (01) : 237 - 253
  • [7] Exploiting locality in the run-time parallelization of irregular loops
    Martín, MJ
    Singh, DE
    Touriño, J
    Rivera, FF
    [J]. 2002 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, PROCEEDING, 2002, : 27 - 34
  • [8] Effects of parallelism degree on run-time parallelization of loops
    Xu, CZ
    [J]. PROCEEDINGS OF THE THIRTY-FIRST HAWAII INTERNATIONAL CONFERENCE ON SYSTEM SCIENCES, VOL VII: SOFTWARE TECHNOLOGY TRACK, 1998, : 86 - 95
  • [9] Time-stamping algorithms for parallelization of loops at run-time
    Xu, CZ
    Chaudhary, V
    [J]. 11TH INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM, PROCEEDINGS, 1997, : 443 - 450
  • [10] Implementation issues of loop-level speculative run-time parallelization
    Patel, D
    Rauchwerger, L
    [J]. COMPILER CONSTRUCTION, 1999, 1575 : 183 - 197