Results 1 -
5 of
5
Optimization of Array Accesses by Collective Loop Transformations
, 1990
"... In this paper, we investigate the problem of optimizing array accesses across a collection of loops. We demonstrate that a good solution to such a problem should be based on an optimization scheme, called collective loop transformations, that considers all loops simultaneously. In particular, loop r ..."
Abstract
-
Cited by 36 (2 self)
- Add to MetaCart
In this paper, we investigate the problem of optimizing array accesses across a collection of loops. We demonstrate that a good solution to such a problem should be based on an optimization scheme, called collective loop transformations, that considers all loops simultaneously. In particular, loop reversal, loop interchange and loop fusion are performed collectively on a set of loop nests. The main impact of these transformations is an optimization called array contraction, that saves space and time by converting an array variable into a scalar variable or a buffer containing a small number of scalar variables. This optimization is applicable to general-purpose high-performance architectures. For a multiprocessor architecture, array contraction is performed by executing the producer and consumer loops on separate processors, and by using a smaller buffer for the array communication. For a uniprocessor architecture, array contraction is performed by fusing the producer and consumer loop...
D-OSC: A SISAL Compiler for Distributed-Memory Machines
- In Proceedings of the 2nd Parallel Computation and Scheduling Workshop
, 1997
"... In this paper we present the results of the implementation of D-OSC: a prototype SISAL compiler for distributed-memory machines. The compiler is an extension of the Optimizing SISAL Compiler (OSC) version 12.9.1, it generates C code with calls to the message passing library MPI. The main goals of th ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
In this paper we present the results of the implementation of D-OSC: a prototype SISAL compiler for distributed-memory machines. The compiler is an extension of the Optimizing SISAL Compiler (OSC) version 12.9.1, it generates C code with calls to the message passing library MPI. The main goals of this implementation are to obtain a SISAL compiler that generates code for distributed-memory machines and to identify the compiler optimizations that can improve the performance of the code generated for the target architecture. 1 Introduction Two issues involved in writing programs for distributedmemory machines are to identify the available parallelism in the program and to implement the program on the target architecture such that the parallelism is exploited. During the past decade the programmer was responsible for identifying the opportunities for parallelism and deciding on the best implementation that exploited such parallelism. Parallel programming is not an easy task, since it usu...
Uniqueness and Completeness Analysis of Array Comprehensions
- Proceedings of the First International Static Analysis Symposium, SAS94
, 1994
"... . In this paper we introduce the uniqueness and completeness problems of array comprehensions. An array comprehension has the uniqueness property if it defines each array element at most once. Uniqueness is a necessary condition for correctness in single assignment languages such as Haskell, Id, and ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
. In this paper we introduce the uniqueness and completeness problems of array comprehensions. An array comprehension has the uniqueness property if it defines each array element at most once. Uniqueness is a necessary condition for correctness in single assignment languages such as Haskell, Id, and Sisal. The uniqueness problem can be stated as a data dependence problem, which in itself can be reformulated as an integer linear programming problem. We derive algorithms to solve uniqueness using the Omega Test, an Integer Linear Programming tool. An array comprehension has the completeness property if all its elements are defined. Completeness is a necessary condition for strict arrays. We present an algorithm that tests for completeness and describe an implementation of the algorithm based on multivariate polynomials. 1 Introduction Some functional languages, such as Haskell, Id, and Sisal [12, 15, 14], have been designed to be used for parallel scientific computing, and should theref...
Uniqueness and Completeness Analysis of Array Comprehensions
, 1994
"... In this paper we introduce the uniqueness and completeness problems of array comprehensions. An array comprehension has the uniqueness property if it defines each array element at most once. Uniqueness is a necessary condition for correctness in single assignment languages such as Haskell, Id, and S ..."
Abstract
- Add to MetaCart
In this paper we introduce the uniqueness and completeness problems of array comprehensions. An array comprehension has the uniqueness property if it defines each array element at most once. Uniqueness is a necessary condition for correctness in single assignment languages such as Haskell, Id, and Sisal. The uniqueness problem can be stated as a data dependence problem, which in itself can be reformulated as an integer linear programming problem. We derive algorithms to solve uniqueness using the Omega Test, an Integer Linear Programming tool. An array comprehension has the completeness property if all its elements are defined. Completeness is a necessary condition for strict arrays. We present an algorithm that tests for completeness and describe an implementation of the algorithm based on multivariate polynomials. Keywords: completeness, uniqueness, array dependence analysis, integer linear programming, Omega test, functional languages 1 This work is supported in part by NSF Grant ...
Department of Computer Science
, 1993
"... In this paper we introduce the uniqueness and completeness problems of array comprehensions. An array comprehension has the uniqueness property if it defines each array element at most once. Uniqueness is a necessary condition for correctness in single assignment languages such as Haskell, Id, and S ..."
Abstract
- Add to MetaCart
In this paper we introduce the uniqueness and completeness problems of array comprehensions. An array comprehension has the uniqueness property if it defines each array element at most once. Uniqueness is a necessary condition for correctness in single assignment languages such as Haskell, Id, and Sisal. The uniqueness problem can be stated as a data dependence problem, which in itself can be reformulated as an integer linear programming problem. We derive algorithms to solve uniqueness using the Omega Test, an Integer Linear Programming tool. An array comprehension has the completeness property if all its elements are defined. Completeness is a necessary condition for strict arrays. We present an algorithm that tests for completeness and describe an implementation of the algorithm based on multivariate polynomials. 1 Introduction Some functional languages, such as Haskell, Id, and Sisal [11, 14, 13], have been designed to be used for scientific computing, and should therefore have ef...

