Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Interprocedural dependence analysis and parallelization
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Program partitioning and synchronization on multiprocessor systems
Program partitioning and synchronization on multiprocessor systems
Automatic translation of FORTRAN programs to vector form
ACM Transactions on Programming Languages and Systems (TOPLAS)
Guided self-scheduling: A practical scheduling scheme for parallel supercomputers
IEEE Transactions on Computers
An overview of the PTRAN analysis system for multiprocessing
Proceedings of the 1st International Conference on Supercomputing
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
The art of computer programming, volume 2 (3rd ed.): seminumerical algorithms
Dependence graphs and compiler optimizations
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Structure of Computers and Computations
Structure of Computers and Computations
Speedup of ordinary programs
Optimizing supercompilers for supercomputers
Optimizing supercompilers for supercomputers
Parallelism, memory anti-aliasing and correctness for trace scheduling compilers (disambiguation, flow-analysis, compaction)
On program restructuring, scheduling, and communication for parallel processor systems
On program restructuring, scheduling, and communication for parallel processor systems
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
On exact data dependence analysis
ICS '92 Proceedings of the 6th international conference on Supercomputing
Orchestrating interactions among parallel computations
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Compiler transformations for high-performance computing
ACM Computing Surveys (CSUR)
Symbolic analysis for parallelizing compilers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
Accurate and fast methods for computing data dependencies are vital to the efficiency of vectorizing and parallelizing compilers. Program transformations employed by these compilers are effective only if dependencies are computed as accurately as possible. In this paper we consider two issues for supercomputer compilers. First, we discuss in detail exact and inexact tests for computing data dependencies and focus on the linearization scheme. We then discuss a program transformation call loop spreading which allows us to execute in parallel adjacent loops with interloop dependencies.