LAMPVIEW: A Loop-Aware Toolset for
Facilitating Parallelization [abstract] (PDF)
Thomas Rorie Mason
Master's Thesis, Department of Electrical Engineering,
Princeton University, August 2009.
A continual growth of the number of transistors per unit area
coupled with diminishing returns from traditional microarchitectural
and clock frequency improvements has led processor manufacturers to
place multiple cores on a single chip. However, only multi-threaded
code can fully take advantage of the new multicore processors;
legacy single-threaded code does not benefit. Many approaches to
parallelization have been explored, including both manual and
automatic techniques.
Unfortunately, research in this area is impeded by the innate
difficulty of exploring code by hand for new possible
parallelization schemes. Regardless of whether it is a researcher
attempting to discover possible automatic techniques or a programmer
trying to make manual parallelization, the benefits of good
dependence information are substantial. This thesis provides a
profiling and analysis toolset aimed at easing a programmer or
researcher.s effort in finding parallelism. The toolset, The
Loop-Aware Memory Profile Viewing System (LAMPView), is developed in
three parts.
The first part is a multi-frontend, multi-target compiler pass
written to instrument the code with calls to the Loop-Aware Memory
Profiling (LAMP) library. The compile-time instrumentation was
partially developed previously and has been augmented here with
additional features. The second part is a post-runtime processing
pass that translates the output of the profiling run from a
machine-level view to a source-level view. As it translates, it also
processes and sorts dependence information. The third and final part
is a pair of stand-alone utilities that takes the translated
information and provides the user with human-readable output that is
searchable by various parameters. In various discussions with
potential users, it has been seen that the utility eases analysis of
parallelism opportunities.