Theory of linear and integer programming
Theory of linear and integer programming
The systematic design of systolic arrays
Centre National de Recherche Scientifique on Automata networks in computer science: theory and applications
Scanning polyhedra with DO loops
PPOPP '91 Proceedings of the third ACM SIGPLAN symposium on Principles and practice of parallel programming
The ALPHA language and its use for the design of systolic arrays
Journal of VLSI Signal Processing Systems - Special issue: algorithms and parallel VSLI architecture
Some efficient solutions to the affine scheduling problem: I. One-dimensional time
International Journal of Parallel Programming
International Journal of Parallel Programming - Special issue on parallel architectures and compilation techniques
A unified framework for schedule and storage optimization
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Automatic Parallelization of Fortran Programs in the Presence of Procedure Calls
ESOP '86 Proceedings of the European Symposium on Programming
Structured Scheduling of Recurrence Equations: Theory and Practice
Embedded Processor Design Challenges: Systems, Architectures, Modeling, and Simulation - SAMOS
Scanning Polyhedra without Do-loops
PACT '98 Proceedings of the 1998 International Conference on Parallel Architectures and Compilation Techniques
Lattice-based memory allocation
Proceedings of the 2003 international conference on Compilers, architecture and synthesis for embedded systems
Efficient code generation for automatic parallelization and optimization
ISPDC'03 Proceedings of the Second international conference on Parallel and distributed computing
Cache topology aware computation mapping for multicores
PLDI '10 Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
Model-based synthesis and optimization of static multi-rate image processing algorithms
Proceedings of the Conference on Design, Automation and Test in Europe
Modeling adaptive streaming applications with parameterized polyhedral process networks
Proceedings of the 48th Design Automation Conference
ACM SIGARCH Computer Architecture News
Sub-polyhedral scheduling using (unit-)two-variable-per-inequality polyhedra
POPL '13 Proceedings of the 40th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Hi-index | 0.00 |
Scheduling a program (i.e. constructing a timetable for the execution of its operations) is one of the most powerful methods for automatic parallelization. A schedule gives a blueprint for constructing a synchronous program, suitable for an ASIC or VLIW processor. However, constructing a schedule entails solving a large linear program. Even if one accepts the (experimental) fact that the Simplex is almost always polynomial, the scheduling time is of the order of a large power of the program size. Hence, the method does not scale well. The present paper proposes two methods for improving the situation. First, a large program can be divided into smaller units (processes), which can be scheduled separately. This is structured scheduling. Second, one can use projection methods for solving linear programs incrementally. This is specially efficient if the dependence graph is sparse.