1989 · 30 citations · 12 references
ComputingComputer ScienceCompilersParallel ComputingProgramming LanguagesAbstract InterpretationCompiler ConstructionData ParallelismData-flow AnalysisParallel Programming ModelsReduction OperationsAutomatic ParallelizationCorrectness ProofsParallel Program SemanticsParallel ReductionParallelism ConstructsParallelizationReductionsVectorization
Generalized reductions include some of the most well known programming idioms, for instance loop invariant variables, induction variables and reduction operations. We propose a unified framework that allows the detection of these paradigms and thus the efficient parallel implementation of programs that use these otherwise parallel-inhibiting constructs. Moreover, using a semantic-based symbolic evaluator, this technique is able to detect parallelizable constructs inside standard benchmarks that no other vectorizer or parallelizer can currently handle. An interesting by-product of our approach is that correctness proofs can be based on the sound and powerful abstract interpretation theory. This method has been implemented in the Velour vectorizer under current development at the Bull Research Center.
12
Patrick Cousot, Radhia Cousot · 1977 · 6.2K citations
Automatic discovery of linear restraints among variables of a program
Patrick Cousot, Nicolas Halbwachs · 1978 · 1.6K citations
Global optimization by suppression of partial redundancies
E. H. Morel, C. Renvoise · Communications of the ACM · 1979 · 377 citations · Full text
Structure and Interpretation of Computer Programs
Christopher Fry, Harold Abelson, Gerald Jay Sussman et al. · Computer Music Journal · 1985 · 199 citations