A technique for summarizing data access and its use in parallelism enhancing transformations
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
A practical algorithm for exact array dependence analysis
Communications of the ACM
Exact side effects for interprocedural dependence analysis
ICS '93 Proceedings of the 7th international conference on Supercomputing
Nonlinear array dependence analysis
Nonlinear array dependence analysis
On the Automatic Parallelization of the Perfect Benchmarks®
IEEE Transactions on Parallel and Distributed Systems
Simplification of array access patterns for compiler optimizations
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Dependence Analysis
High Performance Compilers for Parallel Computing
High Performance Compilers for Parallel Computing
Parallel Programming with Polaris
Computer
An Efficient Data Dependence Analysis for Parallelizing Compilers
IEEE Transactions on Parallel and Distributed Systems
An Implementation of Interprocedural Bounded Regular Section Analysis
IEEE Transactions on Parallel and Distributed Systems
The Power Test for Data Dependence
IEEE Transactions on Parallel and Distributed Systems
Symbolic analysis techniques for effective automatic parallelization
Symbolic analysis techniques for effective automatic parallelization
Interprocedural parallelization using memory classification analysis
Interprocedural parallelization using memory classification analysis
Accurate Shape Analysis for Recursive Data Structures
LCPC '00 Proceedings of the 13th International Workshop on Languages and Compilers for Parallel Computing-Revised Papers
Towards compiler optimization of codes based on arrays of pointers
LCPC'02 Proceedings of the 15th international conference on Languages and Compilers for Parallel Computing
Hi-index | 0.00 |
Traditional loop-based dependence analysis techniques have limitations when non-affine expressions are used, when interprocedural analysis is required, or when analysis of non-loops is needed. In this work, we return to first principles to devise a more general parallelism detection strategy, which includes a dependence analysis technique which removes some of these limitations. We show how to do interprocedural dependence testing between arbitrary sections of code as well as loops, using a technique which includes privatization and recognition of inductions and reductions. We also present the results of recent experiments that we conducted to test the effectiveness of our algorithm on a variety of actual programs. The results are still preliminary, but are quite encouraging.