Modular Synthesis of Divide-and-Conquer Parallelism for Nested Loops (Extended Version)

04/01/2019
by   Azadeh Farzan, et al.
0

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. Then, the summarized version of the loop nest is 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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/10/2023

Evaluating the Performance of Speculative DOACROSS Loop Parallelization with taskloop

OpenMP provides programmers with directives to parallelize DOALL loops s...
research
07/06/2021

General Automation in Coq through Modular Transformations

Whereas proof assistants based on Higher-Order Logic benefit from extern...
research
11/12/2020

Scalable Querying of Nested Data

While large-scale distributed data processing platforms have become an a...
research
05/22/2021

Automatic task-based parallelization of C++ applications by source-to-source transformations

Currently, multi/many-core CPUs are considered standard in most types of...
research
06/12/2019

Loop Programming Practices that Simplify Quicksort Implementations

Quicksort algorithm with Hoare's partition scheme is traditionally imple...
research
01/20/2020

OpenMP Parallelization of Dynamic Programming and Greedy Algorithms

Multicore has emerged as a typical architecture model since its advent a...
research
05/18/2022

A Novel Loop Fission Technique Inspired by Implicit Computational Complexity

This work explores an unexpected application of Implicit Computational C...

Please sign up or login with your details

Forgot password? Click here to reset