Modular Divide-and-Conquer Parallelization of Nested Loops
We propose a methodology for automatic generation of divide-and-conquer parallel implementations of sequential nested loops. We focus on a class of loops that traverse read-only multidimensional collections (lists or arrays) and compute a function over these collections. Our approach is modular, in that, the inner loop nest is abstracted away to produce a simpler loop nest for parallelization. The summarized version of the loop nest is then parallelized. The main challenge addressed by this paper is that to perform the code transformations necessary in each step, the loop nest may have to be augmented (automatically) with extra computation to make possible the abstraction and/or the parallelization tasks. We present theoretical results to justify the correctness of our modular approach, and algorithmic solutions for automation. Experimental results demonstrate that our approach can parallelize highly non-trivial loop nests efficiently.
Tue 25 Jun
|10:00 - 10:20|
Mahdi Soltan MohammadiUniversity of Arizona, Eddie C. DavisBoise State University, USA, Mary HallUniversity of Utah, Maryam Mehri DehnaviUniversity of Toronto, Payal NandyUniversity of Utah, USA, Catherine R. M. OlschanowskyBoise State University, USA, Anand VenkatUniversity of Utah, Tomofumi Yuki, Kazem CheshmiUniversity of Toronto, Michelle StroutUniversity of ArizonaLink to publication DOI Pre-print Media Attached
|10:20 - 10:40|
|10:40 - 11:00|
Travis AugustineColorado State University, USA, Janarthanan SarmaColorado State University, USA, Louis-Noel PouchetColorado State University, Gabriel RodríguezUniversidade da Coruña, SpainLink to publication DOI