2004 · 118 citations · 25 references
ComputingComputer ScienceAlgorithmsCompilersParallel ComputingCode GenerationCompiler ConstructionAutomatic ParallelizationCode OptimizationParallelizationPolyhedral ModelingTransformations
The polyhedral model has enabled significant advances in automatic parallelization and optimization, yet its adoption is hindered by complex code generation that struggles with large code size, control overhead, time consumption, and limited support for diverse transformation functions. The paper proposes a general transformation framework that handles nonunimodular, noninvertible, nonintegral, and nonuniform functions, aiming to improve generated code size and code generator efficiency. The authors enhance a state‑of‑the‑art code generation algorithm to reduce code size and improve generator efficiency. Experiments demonstrate that the improved method can handle real‑life problems effectively.
Many advances in automatic parallelization and optimization have been achieved through the polyhedral model. It has been extensively shown that this computational model provides convenient abstractions to reason about and apply program transformations. Nevertheless, the complexity of code generation has long been a deterrent for using polyhedral representation in optimizing compilers. First, code generators have a hard time coping with generated code size and control overhead that may spoil theoretical benefits achieved by the transformations. Second, this step is usually time consuming, hampering the integration of the polyhedral framework in production compilers or feedback-directed, iterative optimization schemes. Moreover, current code generation algorithms only cover a restrictive set of possible transformation functions. This paper discusses a general transformation framework able to deal with nonunimodular, noninvertible, nonintegral or even nonuniform functions. It presents several improvements to a state-of-the-art code generation algorithm. Two directions are explored: generated code size and code generator efficiency. Experimental evidence proves the ability of the improved method to handle real-life problems.
25
Automatic discovery of linear restraints among variables of a program
Patrick Cousot, Nicolas Halbwachs · 1978 · 1.6K citations
Parametric integer programming
Paul Feautrier · RAIRO - Operations Research · 1988 · 376 citations · Full text