Parasol Compilers: Hybrid Analysis
Parasol Compilers Group
Hybrid Analysis and its Application to Automatic Parallelization

Silvius Rus, Marinus Pennings Lawrence Rauchwerger


Hybrid Analysis (HA) is a novel compiler optimization approach to solving optimization problems that can be expressed as functions of memory reference sets. It first tries to solve them at compile-time using the best available symbolic analysis methods. In case static analysis fails (the optimization decision may depend on input values), HA extracts a set of equivalent conditions that are in most cases much easier to evaluate at run-time then it is to solve the full optimization problem. The optimization decision is then taken at run-time, in the presence of needed input values, with low overhead.

HA performs Memory Classification Analysis to produce exact analytical memory reference descriptors for all variables relevant to the optimization decision.

We have applied the hybrid technology to implement Hybrid Dependence Analysis, which resulted into an Automatic Parallelization tool. We achieved good speedups on a large set of benchmark applications.


How it works Results
Simple Example and Detailed Description
Complex Example
Automatic Parallelization: Performance Improvement (Speedup)
Compile-time Diagnostics Tables


Publications and Presentations
Sensitivity Analysis xxxxxxxxxxxxxx

Silvius Rus, Marinus Pennings, Lawrence Rauchwerger, "Sensitivity Analysis for Migrating Programs to Multi-Cores," Technical Report, TR06-015, Parasol Laboratory, Department of Computer Science, Texas A&M University, College Station, TX, Dec 2006.
Technical Report(ps, pdf, abstract)

Migrating sequential code

Dependence Analysis

Silvius Rus, Lawrence Rauchwerger, "Hybrid Dependence Analysis for Automatic Parallelization," Technical Report, TR05-013, Parasol Laboratory, Department of Computer Science, Texas A&M University, Nov 2005.
Technical Report(ps, pdf, ppt, abstract)

Aggregation and Classification

Silvius Rus, Lawrence Rauchwerger, "Hybrid Dependence Analysis for Automatic Parallelization," Technical Report, TR05-013, Parasol Laboratory, Department of Computer Science, Texas A&M University, Nov 2005.
Technical Report(ps, pdf, ppt, abstract)

Silvius Rus, Lawrence Rauchwerger, Jay Hoeflinger, "Hybrid Analysis: Static & Dynamic Memory Reference Analysis," International Journal of Parallel Programming, 31(4):251-283, Aug 2003. Also, In Proc. ACM Int. Conf. Supercomputing (ICS), pp. 274-284, New York City, Jun 2002. Also, Technical Report, TR02-002, Parasol Laboratory, Department of Computer Science, Texas A&M University, Jan 2002.
Journal(pdf, ppt, abstract) Proceedings(ps, pdf, ppt, abstract) Technical Report(ps, pdf, ppt, abstract)


Compiler Optimization Home Page

Site Map