| Luddy Harrison. Compiling Lisp for Evaluation on a Tightly Coupled Multiprocessor. Technical Report 565, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., Mar. 20, 1986. |
....and multiprocessor machines [10] The stridepredictability of memory addresses has been used to perform speculative prefetching in out of order superscalars [11] Mechanisms for parallelizing certain types of while loops have been developed. Loops traversing lists in Lisp have been parallelized [13] by assuming that the loop has no cross iteration dependences and that its nodes are allocated in contiguous regions. Loops in FORTRAN have been parallelized [30] by pipelining in doacross fashion, which involves large synchronization costs, or by rst executing a sequential inspector that stores ....
W. L. Harrison III. Compiling Lisp for evaluation on a tightly coupled multiprocessor. Technical Report 565, Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, March 1986.
....for parallel execution of do loops, e.g. doall, doacross, doany. These new parallel constructs could be called while doall, while doacross, and while doany and could prove useful in the parallel programming (manual parallelization) of applications. The methods described here extend previous works [8, 22] in that they: 1. can handle remainder variant termination conditions, 2. can test at run time for cross iteration data dependences in the remainder, 3. do not require work and storage for saving the values computed in the recurrence, initialize dispatcher do work associatied with current ....
....on loops from the PERFECT Benchmarks and sparse matrix packages on the Alliant FX 80 which substantiate this conclusion. 2 Parallelizing while Loops While loops have often been treated by parallelizing compilers as intrinsically sequential constructs because their iteration space is unknown [8]. A related case which is generally also handled sequentially by compilers is the do loop with a conditional exit. In this paper we propose techniques that can be used to execute such loops in parallel. In order to clarify our presentation we first consider loops which (a) contain a single ....
[Article contains additional citation context not shown here]
W. L. Harrison, III. Compiling lisp for evaluation on a tightly coupled multiprocessor. TR. 565, CSRD, Univ. of Illinois, 1986.
....6.27 shows the result of changing list induction variables to cons vectors. The first operation in the procedure is changed from a call to length to a call to vector length because the cons vector s length can be computed more efficiently than simply traversing the list (a parallel find first one [50] algorithm can be used) Since the cons vector Lv was passed in, there is no need for allocating an expanded scalar for it. The Sv cons vector is an output argument for the procedure, so it is allocated in place of the expanded scalar in the previous version. The references to the expanded scalars ....
W. Ludwell Harrison III. Compiling lisp for evaluation on a tightly coupled multiprocessor. Technical report, University of Illinois at Urbana-Champaign, March 1986. CSRD Rpt. No. 565.
.... A detailed discussion of how the PD Test can be used to selectively privatize individual array elements can be found in [ 4 Speculative Parallel Execution of WHILE Loops WHILE Loops have often been treated by compilers as sequential constructs because their iteration space is unknown [28]. A related case which is generally also handled sequentially by compilers is the DO Loop with a conditional exit. In this section we propose techniques that can be used to execute such loops in parallel. In order to focus on the problem of dealing with an unknown number of iterations, we first ....
III W. Ludwell Harrison. Compiling Lisp for Evaluation on a Tightly Coupled Multiprocessor. Technical report, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., Mar. 20, 1986. CSRD Rpt. No. 565.
....application is to simplify program transformations. When restructuring an expression, we do not need to be concerned with branches into the middle of, and out from the middle of the expression: control flows into and out of the expression in an orderly way. The reader may look at Harrison s work [21] to see the difficulties that we may encounter for program transformations such as exit loop parallelization and recursion splitting [22] when they are performed on a code that is not so structured. By control flow normalization, we effectively make while and do loop transformations applicable ....
W.L. Harrison III. Compiling lisp for evaluation on a tightly coupled multiprocessor. Technical report, Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign, 1986.
....parallel execution of do loops, e.g. doall, doacross, doany. These new parallel constructs could be called while doall, while doacross, and while doany and could prove useful in the parallel programming (manual parallelization) of applications. The methods described here extend previous works [Har86, WL90] in that they: 1. can handle remainder variant termination conditions, 2. can test at run time for cross iteration data dependences in the remainder, 3. do not require work and storage for saving the values computed in the recurrence, 4. support both static and dynamic scheduling, and 5. ....
....We present some experimental results in Section 8.9. In Section 8.10 we discuss related work. 8. 2 Transforming While Loops for Parallel Execution While loops have often been treated by parallelizing compilers as an intrinsically sequential constructs because their iteration space is unknown [Har86] A related case which is generally also handled sequentially by compilers is the do loop with a conditional exit. In this paper we propose techniques that can be used to execute such loops in parallel. In order to clarify our presentation we first consider loops which (a) contain a single ....
[Article contains additional citation context not shown here]
W. L. Harrison, III. Compiling Lisp for Evaluation on a Tightly Coupled Multiprocessor. Technical Report 565, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., March, 1986.
....techniques implemented in [FG94] these approaches identify variables which are computed as recurrent associative functions derived from statements in the body of the loop. Harrison also treats the parallelization of associative inductions, reductions, and recurrences in functional languages in [Har86] 2.2 Commutative Operations In [RD96] Rinard and Diniz present a framework for parallelizing recursive function calls based on commutativity. Similarly, Kuck has shown that simple expressions (e.g. right hand sides of assignment statements) can be reordered based on combinations of both ....
....the first time a case in which operands are array elements with loop carried flow dependences between individual elements. 2 Discounting the case id = id, self assignment or the identity operation It is well known that recurrences are parallelizable when based on associative binary operators [Har86] By treating the array used to contain the result as a conglomerate operand, associative recurrence relations can be modeled as associative coalescing loop operators. Consider the following functional representation of the non homogeneous recurrence relation a i = a i Gamma1 Phi fi i where fi ....
Luddy Harrison. Compiling Lisp for Evaluation on a Tightly Coupled Multiprocessor. Technical Report 565, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., Mar. 20, 1986.
....execution of DO loops, e.g. DOALL, DOACROSS, DOANY. These new parallel constructs could be called WHILE DOALL, WHILE DOACROSS, and WHILE DOANY and could prove useful in the parallel programming (manual parallelization) of applications. The methods described here extend previous works [26, 29] in that they: 1. can handle remainder variant termination conditions, 2. can test at run time for cross iteration data dependences in the remainder, 3. do not require work and storage for saving the values computed in the recurrence, 4. support both static and dynamic scheduling, and 5. present a ....
....methods. We present some experimental results in Section 9. In Section 10 we discuss related work. 2 Transforming WHILE Loops for Parallel Execution WHILE loops have often been treated by parallelizing compilers as an intrinsically sequential constructs because their iteration space is unknown [26]. A related case which is generally also handled sequentially by compilers is the DO loop with a conditional exit. In this paper we propose techniques that can be used to execute such loops in parallel. In order to clarify our presentation we first consider loops which (a) contain a single ....
[Article contains additional citation context not shown here]
III W. Ludwell Harrison. Compiling Lisp for Evaluation on a Tightly Coupled Multiproces sor. Technical Report 565, Univ. of Illinois at Urbana-Champaign, Center for Superco mputing Res. & Dev., Mar. 20, 1986.
....techniques implemented in [FG94] these approaches identify variables which are computed as recurrent associative functions derived from statements in the body of the loop. Harrison also treats the parallelization of associative inductions, reductions, and recurrences in functional languages in [Har86] 3.4 Commutative Operations In [RD96] Rinard and Diniz present a framework for parallelizing recursive function calls based on commutativity. Similarly, Kuck has shown that simple expressions (e.g. right hand sides of assignment statements) can be reordered based on combinations of both ....
Luddy Harrison. Compiling Lisp for Evaluation on a Tightly Coupled Multiprocessor. Technical Report 565, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., Mar. 20, 1986.
....parallelization of two classes of sequential constructs that are typical of Fortran programs: acyclic code in Section 3.1 and do loops in Section 3.2. A topic not covered in this survey is the parallelization of while loops. The reader is referred to the papers by Wu and Lewis [31] and Harrison [32] for parallelization techniques that apply to this type of construct. In Section 3.3 we discuss program transformations which postpone the decision of what to execute in parallel to execution time. Finally, in Section 3.4 we discuss translation techniques to deal with pointers and recursion. These ....
W. Ludwell Harrison. Compiling Lisp for Evaluation on a Tightly Coupled Multiprocessor. Technical Report 565, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., Mar. 1986.
No context found.
Luddy Harrison. Compiling Lisp for Evaluation on a Tightly Coupled Multiprocessor. Technical Report 565, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., Mar. 20, 1986.
No context found.
Luddy Harrison. Compiling Lisp for Evaluation on a Tightly Coupled Multiprocessor. Technical Report 565, Univ. of Illinois at Urbana-Champaign, Center for Supercomputing Res. & Dev., Mar. 20, 1986.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC