book: symbolic analysis for parallelizing compilers

mohammad@csrd.uiuc.edu (Mohammad Reza Haghighat)
Fri, 8 Sep 1995 19:01:41 GMT

          From comp.compilers

Related articles
book: symbolic analysis for parallelizing compilers mohammad@csrd.uiuc.edu (1995-09-08)
| List of all articles for this month |

Newsgroups: comp.compilers
From: mohammad@csrd.uiuc.edu (Mohammad Reza Haghighat)
Keywords: analysis, parallel, books
Organization: Compilers Central
Date: Fri, 8 Sep 1995 19:01:41 GMT

I'd like to announce the availability of the following new book:




        Title : SYMBOLIC ANALYSIS FOR PARALLELIZING COMPILERS
        Author : Mohammad R. Haghighat


        Foreword : Constantine D. Polychronopoulos


        Publisher : Kluwer Academic Publishers, 1995
        ISBN : 0-7923-9623-5
        Pages : 168, Hard Cover
        List price : $90.00
                                  The publisher offers a 20% discount for orders received
                                  by October 1, 1995 via e-mail <Kluwer@world.std.com>.




SYMBOLIC ANALYSIS FOR PARALLELIZING COMPILERS is the first complete account of
the state-of-the-art symbolic analysis techniques for parallelizing compilers.
The book makes a compelling case for the potential of symbolic analysis
techniques by applying them with remarkable results to such important program
optimization problems as dependence analysis, static timing or size analysis,
and loop scheduling. Although automatic program parallelization is the focus of
the book, the presented techniques should prove useful in other realms where
understanding of programs is essential in achieving efficiency, proving
correctness, and reengineering the programs.


The book presents a system for automatic analysis and optimization of programs
for parallel computers. The fundamental components of the system, the required
analysis techniques (some of them new and original), and the theoretical
foundations and limitations of the methods are described in detail. Application
of the techniques in solving complicated problems is illustrated through many
examples from real benchmarks. A prototype of the system is implemented in the
frame of Parafrase-2, a widely used experimental compiler developed at the
University of Illinois. By using this system, Parafrase-2 was able to solve
some of the most difficult compiler problems more precisely than other
state-of-the-art parallelizing compilers.


The results of the implementation and experiments demonstrate that
symbolic analysis can be useful to any program transformational
system that relies on compile-time information about program
properties. This includes the majority of program optimization and
parallelization techniques. The practicality and efficiency of the
approach have been principal guidelines throughout the work.


SYMBOLIC ANALYSIS FOR PARALLELIZING COMPILERS should be of interest
to people in high-performance computing, especially compiler
practitioners and researchers of high-performance compilers in
industry and academia. In particular, readers of the books of Dr.
Utpal Banerjee, Prof. Constantine Polychronopoulos, and Prof. Michael
Wolfe may enjoy reading this book. Researchers in abstract
interpretation, semantics-based analysis, and automated reasoning may
also find the material useful and stimulating.




---------------------------------------------------------
CONTENTS
---------------------------------------------------------


1 INTRODUCTION
      1.1 Contributions
      1.2 Book Outline


2 RELATED WORK


3 SYMBOLIC ANALYSIS
      3.1 Abstract Symbolic Domain
      3.2 Abstraction of the Assignment Operation
      3.3 Abstraction of Integer Division
      3.4 Tests of Integer Divisibility
      3.5 Interpretation of Flow Graph Nodes
      3.6 Interpretation of Program Loops


4 INDUCTION VARIABLES
      4.1 Generalized Induction Variables
      4.2 Generalized Induction Expressions
      4.3 Symbolic Interpolation
      4.4 Induction Expressions with Conditional Statements
      4.5 Wraparound Expressions
      4.6 Loop Normalization
      4.7 Recognition of Loop-Invariant Computations
      4.8 Architecture of a Symbolic Analysis System


5 INTERPROCEDURAL SYMBOLIC ANALYSIS
      5.1 Dead-Code Elimination
      5.2 Symbolic Dependence Analysis
      5.3 Program Optimization


6 TIMING ANALYSIS AND SCHEDULING
      6.1 Loop Scheduling
      6.2 Derivation of Symbolic Cost Estimates
      6.3 Computing Probabilities of Structural Conditions
      6.4 Algebra of Conditional Values


7 IMPLEMENTATION AND EXPERIMENTS


8 CONCLUSIONS
      8.1 Future Research


A INTERVAL ANALYSIS
      A.1 Introduction
      A.2 The Origin of Interval Analysis
      A.3 Interval Arithmetic
      A.4 Extended Interval Arithmetic
      A.5 Interval Functions
      A.6 Intervals in Aid of Program Analysis


      REFERENCES


      INDEX


---------------------------------------------------------


Mohammad R. Haghighat
mohammad@csrd.uiuc.edu
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.