Symbolic Analysis for Parallelizing CompilersIn Symbolic Analysis for Parallelizing Compilers the author presents an excellent demonstration of the effectiveness of symbolic analysis in tackling important optimization problems, some of which inhibit loop parallelization. The framework that Haghighat presents has proved extremely successful in induction and wraparound variable analysis, strength reduction, dead code elimination and symbolic constant propagation. The approach can be applied to any program transformation or optimization problem that uses properties and value ranges of program names. Symbolic analysis can be used on any transformational system or optimization problem that relies on compile-time information about program variables. This covers the majority of, if not all optimization and parallelization techniques. The book makes a compelling case for the potential of symbolic analysis, applying it for the first time - and with remarkable results - to a number of classical optimization problems: loop scheduling, static timing or size analysis, and dependence analysis. It demonstrates how symbolic analysis can solve these problems faster and more accurately than existing hybrid techniques. |
Other editions - View all
Common terms and phrases
abstract interpretation abstract value algorithm arithmetic expression array assignment statements balanced chunk scheduling CDOALL closed form code segment conditional statements constant propagation control flow graph convex polytope Cousot dead code elimination defined dependence analysis derive effective efficient enclosing loop index END DO END end do Figure end do print END IF END equal example execution flow analysis Fortran forward substitution global GOTO Haghighat header induction expression induction variables integer integer division interval analysis interval arithmetic lattice Loop analysis loop bounds loop index variables loop nest loop-invariant expressions mijkl monotonicity morb node number of iterations operations optimization Parafrase-2 parallel loop parallelizing compilers Perfect Benchmarks performed by Parafrase-2 Principles of Programming problem procedure program analysis program loops program TRFD program variables Programming Languages real numbers result scheme self-scheduling semantics shown in Figure solved strength reduction subroutine subscript expressions symbolic analysis framework techniques total number wraparound variables zero
References to this book
Advanced Symbolic Analysis for Compilers: New Techniques and Algorithms for ... Thomas Fahringer,Bernhard Scholz No preview available - 2003 |
Advanced Symbolic Analysis for Compilers: New Techniques and Algorithms for ... Thomas Fahringer,Bernhard Scholz No preview available - 2003 |