HomeresearchPeopleGeneral InfoSeminarsResources
Abstract

Silvius Rus, Lawrence Rauchwerger, "Compiler Technology for Migrating Sequential Code to Multi-threaded Architectures," Technical Report, TR06-006, Parasol Laboratory, Department of Computer Science, Texas A&M University, College Station, TX, Apr 2006.
Technical Report(ps, pdf, abstract)

Executing sequential code in parallel on a multithreaded machine has been an elusive goal for many years. It has recently become quite important due to the widespread introduction of multi-cores in PCs. Automatic multi-threading could not be achieved so far because classic compiler analysis was not powerful enough and program behavior was found to be in many cases input dependent. Run time, speculative thread level parallelization, introduced in 1995, was a welcome but somewhat different avenue for advancing parallelization coverage. In this paper we introduce a novel analysis technique, Hybrid Analysis (HA), which unifies static and dynamic memory reference techniques into a seamless compiler framework which extracts almost maximum available parallelism from scientific codes and generates minimum run time overhead. We will present how we can extract maximum information from the quantities that could not be sufficiently analyzed through static compiler methods and generate sufficient conditions which, when evaluated dynamically, can validate optimizations. A large number of experiments confirm the viability of our techniques, which have been fully implemented in the Polaris compiler.