Hybrid Analysis: Static & Dynamic Memory Reference Analysis Academic Article uri icon

abstract

  • We present a novel Hybrid Analysis technology which can efficiently and seamlessly integrate all static and run-time analysis of memory references into a single framework that is capable of performing all data dependence analysis and can generate necessary information for most associated memory related optimizations. We use HA to perform automatic parallelization by extracting run-time assertions from any loop and generating appropriate run-time tests that range from a low cost scalar comparison to a full, reference by reference run-time analysis. Moreover we can order the run-time tests in increasing order of complexity (overhead) and thus risk the minimum necessary overhead. We accomplish this by both extending compile time IP analysis techniques and by incorporating speculative run-time techniques when necessary. Our solution is to bridge "free" compile time techniques with exhaustive run-time techniques through a continuum of simple to complex solutions. We have implemented our framework in the Polaris compiler by introducing an innovative intermediate representation called RT_LMAD and a run-time library that can operate on it. Based on the experimental results obtained to date we hope to automatically parallelize most and possibly all PERFECT codes, a significant accomplishment.

published proceedings

  • International Journal of Parallel Programming

author list (cited authors)

  • Rus, S., Rauchwerger, L., & Hoeflinger, J

citation count

  • 60

complete list of authors

  • Rus, Silvius||Rauchwerger, Lawrence||Hoeflinger, Jay

publication date

  • August 2003