• DocumentCode
    1293273
  • Title

    Computing programs containing band linear recurrences on vector supercomputers

  • Author

    Wang, Haigeng ; Nicolau, Alexandru ; Keung, Stephen ; Siu, Kai-Yeung

  • Author_Institution
    Dept. of Inf. & Comput. Sci., California Univ., Irvine, CA, USA
  • Volume
    7
  • Issue
    8
  • fYear
    1996
  • fDate
    8/1/1996 12:00:00 AM
  • Firstpage
    769
  • Lastpage
    782
  • Abstract
    Many large-scale scientific and engineering computations, e.g., some of the Grand Challenge problems, spend a major portion of execution time in their core loops computing band linear recurrences (BLRs). Conventional compiler parallelization techniques cannot generate scalable parallel code for this type of computation because they respect loop-carried dependences (LCDs) in programs, and there is a limited amount of parallelism in a BLR with respect to LCDs. For many applications, using library routines to replace the core BLR requires the separation of BLR from its dependent computation, which usually incurs significant overhead. In this paper, we present a new scalable algorithm called the Regular Schedule, for parallel evaluation of BLRs. We describe our implementation of the Regular Schedule and discuss how to obtain maximum memory throughput in implementing the schedule on vector supercomputers. We also illustrate our approach, based on our Regular Schedule, to parallelizing programs containing BLR and other kinds of code. Significant improvements in CPU performance for a range of programs containing BLR implemented using the Regular Schedule in C over the same programs implemented using highly optimized coded-in-assembly BLAS routines [11] are demonstrated on Convex C240. Our approach can be used both at the user level in parallel programming code containing BLRs, and in compiler parallelization of such programs combined with recurrence recognition techniques for vector supercomputers
  • Keywords
    parallel machines; parallel programming; parallelising compilers; CPU performance; Regular Schedule; band linear recurrences; compiler parallelization; parallelizing programs; recurrence recognition; scalable algorithm; vector supercomputers; Concurrent computing; Large-scale systems; Libraries; Parallel processing; Processor scheduling; Program processors; Scheduling algorithm; Supercomputers; Throughput; Vectors;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/71.532109
  • Filename
    532109