Results 1 - 10
of
10
Advanced Compilation Techniques in the PARADIGM Compiler for Distributed-Memory Multicomputers
, 1995
"... The PARADIGM compiler project provides an automated means to parallelize programs, written in a serial programming model, for efficient execution on distributed-memory multicomputers. A previous implementation of the compiler based on the PTD representation allowed symbolic array sizes, affine loop ..."
Abstract
-
Cited by 34 (2 self)
- Add to MetaCart
The PARADIGM compiler project provides an automated means to parallelize programs, written in a serial programming model, for efficient execution on distributed-memory multicomputers. A previous implementation of the compiler based on the PTD representation allowed symbolic array sizes, affine loop bounds and array subscripts, and variable number of processors, provided that arrays were single- or multi-dimensionally block distributed. The techniques presented here extend the compiler to also accept multidimensional cyclic and block-cyclic distributions within a uniform symbolic framework. These extensions demand more sophisticated symbolic manipulation capabilities. A novel aspect of our approach is to meet this demand by interfacing PARADIGM with a powerful off-the-shelf symbolic package, Mathematica(TM). This paper describes some of the Mathematica(TM) routines that performs various transformations, shows how they are invoked and used by the compiler to overcome the new challenges, and presents experimental results for code involving cyclic and block-cyclic arrays as evidence of the feasibility of the approach.
On the Parallelization of Loop Nests Containing while Loops
- Proc. 1st Aizu Int. Symp. on Parallel Algorithm/Architecture Synthesis (pAs'95
, 1995
"... Recently, efforts have been made to devise automatic methods, based on a mathematical model, for the parallelization of loop nests with while loops. These methods are extensions of methods for the parallelization of nested for loops. 1 Introduction The parallelization of nested loops has been a to ..."
Abstract
-
Cited by 11 (7 self)
- Add to MetaCart
Recently, efforts have been made to devise automatic methods, based on a mathematical model, for the parallelization of loop nests with while loops. These methods are extensions of methods for the parallelization of nested for loops. 1 Introduction The parallelization of nested loops has been a topic of research for at least twenty years [13]. Until recently, efforts have focussed on for loops. A for loop is distinguished by the fact that its bounds are determined before the loop is executed. Modeling a set of nested for loops by a convex polytope in which each dimension enumerates the iterations of one loop has proved useful in characterizing and analyzing the space of possible parallelizations. With methods based on the polytope model, one can automatically make an optimal choice from the set of all parallelizations and achieve orders of magnitude of speed-up [2, 15]. The parallelization of while loops has been investigated for a number of years. The general approach has been to ...
The Loop Parallelizer LooPo
- Proc. Sixth Workshop on Compilers for Parallel Computers, volume 21 of Konferenzen des Forschungszentrums Jülich
, 1996
"... . We report on a prototype for testing different methods of space-time mapping loop nests. LooPo admits perfect or imperfect loop nests in a number of imperative languages, takes data dependences from the user or derives them itself from the source code, provides a choice of strategies for sched ..."
Abstract
-
Cited by 10 (2 self)
- Add to MetaCart
. We report on a prototype for testing different methods of space-time mapping loop nests. LooPo admits perfect or imperfect loop nests in a number of imperative languages, takes data dependences from the user or derives them itself from the source code, provides a choice of strategies for scheduling and allocating the loop nest's iterations, and produces synchronous or asynchronous parallel target code for sharedmemory or distributed-memory machines. 1 Why LooPo? LooPo is not meant to be yet another parallelizing compiler. It is a prototype system whose purpose is to assist us in the research on and evaluation of space-time mapping methods for loop parallelization. To that end, it implements the complete path from executable source code to executable target code, with switches for choosing alternative methods. At present, we provide several inequality solving methods, several schedulers and several methods of code generation, one dependence analyzer (we are working on a second...
Compiler and Run-Time Support for Irregular Computations
, 1995
"... There are many important applications in computational fluid dynamics, circuit simulation and structural analysis that can be more accurately modeled using iterations on unstructured grids. In these problems, regular compiler analysis for Massively Parallel Processors (MPP) with distributed address ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
There are many important applications in computational fluid dynamics, circuit simulation and structural analysis that can be more accurately modeled using iterations on unstructured grids. In these problems, regular compiler analysis for Massively Parallel Processors (MPP) with distributed address space fails because communication can only be determined at run-time. However, in many of these applications the communication pattern repeats for every iteration. Therefore, equivalent optimizations to the regular case can be achieved with a combination of run-time support (RTS) and compiler analysis.
A Communication Scheme for the Distributed Execution of Loop Nests with while Loops
- Int. J. Parallel Programming
, 1995
"... . The mathematical model for the parallelization, or "spacetime mapping", of loop nests is the polyhedron model. The presence of while loops in the nest complicates matters for two reasons: (1) the parallelized loop nest does not correspond to a polyhedron but instead to a subset that resembles ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
. The mathematical model for the parallelization, or "spacetime mapping", of loop nests is the polyhedron model. The presence of while loops in the nest complicates matters for two reasons: (1) the parallelized loop nest does not correspond to a polyhedron but instead to a subset that resembles a (multi-dimensional) comb and (2) it is not clear when the entire loop nest has terminated. We describe a communication scheme which can deal with both problems and which can be added to the parallel target loop nest by a compiler. Keywords: loop parallelization, parallelizing compilation, space-time mapping, while loop 1 Introduction With the advent of increasingly large and affordable parallel computing systems, the topic of loop parallelization has recently received increased attention. Modeling loops with convex polyhedra has proved useful in characterizing and analyzing the space of possible parallelizations of sets of nested loops. Nests of for loops are modeled with polytopes,...
Recent books on Formal Methods (Bibliography)
, 1995
"... Data Types and Modula-2. Prentice-Hall, 1994. [Mor90] Carroll Morgan. Programming from Specifications. Prentice-Hall, 1990. [Mor94] Carroll Morgan. Programming from Specifications. Prentice-Hall International, second edition, 1994. [Mos92] Peter D. Mosses. Action Semantics. Number 26 in Cambridge Tr ..."
Abstract
- Add to MetaCart
Data Types and Modula-2. Prentice-Hall, 1994. [Mor90] Carroll Morgan. Programming from Specifications. Prentice-Hall, 1990. [Mor94] Carroll Morgan. Programming from Specifications. Prentice-Hall International, second edition, 1994. [Mos92] Peter D. Mosses. Action Semantics. Number 26 in Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1992. [MP92] Zohar Manna and Amir Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1992. [MW93] Ursula Martin and Jeannette M. Wing, editors. First International Workshop on Larch, Dedham 1992. Workshops in Computing. Springer-Verlag, 1993. ISBN 3-540-19804-0, 0-387-19804-0. [Nie93] Oscar M. Nierstrasz, editor. ECOOP'93: Object-Oriented Programming, volume 707 of Lecture Notes in Computer Science. Springer-Verlag, 1993. [NM94] A Nerode and Y V Matoyasevich, editors. Logical Foundations of Computer Science, volume 813 of Lecture Notes in Computer Science. Springer-Verlag, 1994. [Odi...
Recent books on Formal Methods
, 1996
"... Data Types, with Error-State Semantics. North-Holland, 1988. ISBN 0-444-70340-3. [vdS93] Jan L A van de Snepscheut. What Computing is all About. Springer Verlag, 1993. ISBN 0-387-94021-9, 3-540-94021-9. [Wat94] David A Watt. Programming Language Syntax and Semantics. Prentice-Hall International, 1 ..."
Abstract
- Add to MetaCart
Data Types, with Error-State Semantics. North-Holland, 1988. ISBN 0-444-70340-3. [vdS93] Jan L A van de Snepscheut. What Computing is all About. Springer Verlag, 1993. ISBN 0-387-94021-9, 3-540-94021-9. [Wat94] David A Watt. Programming Language Syntax and Semantics. Prentice-Hall International, 1994. [WH93] M. Woodman and B. Heal. Introduction to VDM. McGraw-Hill, 1993. [Win93] Glynn Winskel. The Formal Semantics of Programming Languages. The MIT Press, 1993. ISBN 0-262-23169-7. [WL88] J. C. P. Woodcock and M. Loomes. Software Engineering Mathematics: Formal Methods Demystified. Pitman, 1988. [WL93] J. C. P. Woodcock and P. G. Larsen, editors. FME'93: Industrial-Strength Formal Methods, volume 670 of Lecture Notes in Computer Science. Springer-Verlag, 1993. [Wor92] J. B. Wordsworth. Software Development with Z. Addison-Wesley, 1992. [WSL93] M. Weber, M. Simons, and Ch. Lafontaine. The Generic Development Language Deva: Presentation and Case Studies, volume 738 of Lecture Notes...
Generalising The Unimodular Approach To Restructure Imperfectly Nested Loops
, 1996
"... Although overcoming some limitations of the generate-and-test approach, unimodular transformations are limited to perfect loop nests only. Extending the unimodular approach, this paper describes a framework that enables the use of unimodular transformations to restructure imperfect loop nests. The c ..."
Abstract
- Add to MetaCart
Although overcoming some limitations of the generate-and-test approach, unimodular transformations are limited to perfect loop nests only. Extending the unimodular approach, this paper describes a framework that enables the use of unimodular transformations to restructure imperfect loop nests. The concepts used previously for perfect loop nests, such as iteration vector, iteration space and lexicographic order, are generalised and some new concepts like preorder tree are introduced. Multiple unimodular transformations are allowed, one each statement in the loop nest. A code generation algorithm is provided that produces a possibly imperfect loop nest to scan an iteration space that is given as a union of sets of ane constraints.
Manual and Compiler Assisted Methods for Generating Fault-Tolerant Parallel Programs
, 1995
"... this dissertation, we first present a general scheme for performing fault-location and recovery under the ABFT framework. Our fault model assumes that a faulty processor can corrupt all of the data it possesses. The fault-location scheme is an application of system-level diagnosis theory to the ABFT ..."
Abstract
- Add to MetaCart
this dissertation, we first present a general scheme for performing fault-location and recovery under the ABFT framework. Our fault model assumes that a faulty processor can corrupt all of the data it possesses. The fault-location scheme is an application of system-level diagnosis theory to the ABFT framework, while the fault-recovery scheme uses ideas from coding theory to maintain redundant data and uses this to recover corrupted data in the event of processor failures. Results are presented on implementations of three numerical algorithms on a distributed memory multicomputer, which demonstrate acceptably low overheads for the single- and double-fault location and recovery cases

