Advanced compiler optimizations for supercomputers
Communications of the ACM - Special issue on parallelism
Automatic vectorisation for high level languages based on an expert system
Proc. of the conference on algorithms and hardware for parallel processing on CONPAR 86
Realization of a knowledge-based parallelization tool in a programming environment
Proceedings of the 1st International Conference on Supercomputing
The parallel execution of DO loops
Communications of the ACM
Dependence graphs and compiler optimizations
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Speedup of ordinary programs
Optimizing supercompilers for supercomputers
Optimizing supercompilers for supercomputers
Eliminating false data dependences using the Omega test
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
A practical data flow framework for array reference analysis and its use in optimizations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Array-data flow analysis and its use in array privatization
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Static analysis of upper and lower bounds on dependences and parallelism
ACM Transactions on Programming Languages and Systems (TOPLAS)
Going Beyond Integer Programming with the Omega Test to Eliminate False Data Dependences
IEEE Transactions on Parallel and Distributed Systems
On the Removal of Anti- and Output-Dependences
International Journal of Parallel Programming
Constraint-based array dependence analysis
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiler optimizations for scalable parallel systems
A Correction Method for Parallel Loop Execution
ICCS '02 Proceedings of the International Conference on Computational Science-Part I
Polynomial time array dataflow analysis
LCPC'01 Proceedings of the 14th international conference on Languages and compilers for parallel computing
Hi-index | 0.00 |
For the automatic vectorization and concurrentization of Fortran- or Pascal-like programs the dependencies have to be determined and to be observed with every transformation. The full dependence relation is a transitive relation. Direct dependencies are defined as such dependencies that cannot be represented transitively by other dependencies.It will be shown that information about the direct dependencies is useful for renaming and expansion of structured variables. Indeed, many other transformations that are applied for automatic parallelization and program restructuring can be extended in this way. Though some extensions have already been made by other authors, with the concept of direct dependencies a uniform theoretical background for all these transformations is given.As most known dependence tests do not give information about direct dependencies, it is also explained how to determine direct dependencies.