Run-time methods for parallelizing partially parallel loops

54Citations
Citations of this article
8Readers
Mendeley users who have this article in their library.

Abstract

In this paper we give a new rum-time technique for finding an optimal parallel execution schedule for a partially parallel loop, i.e., a loop whose parallelization requires synchronization to ensure that the iterations are executed in the correct order. Given the original loop, the compiler generates inspector code that performs run-time preprocessing of the loop's access pattern, and scheduler code that schedules (and executes) the loop iterations. The inspector is fully parallel, uses no synchronization, and can be applied to any loop. In addition, it can implement at run-time the two most effective transformations for increasing the amount of parallelism in a loop: array privatization and reduction parallelization (element-wise). We also describe a new scheme for constructing an optimal parallel execution schedule for the iterations of the loop.

Cite

CITATION STYLE

APA

Rauchwerger, L., Amato, N. M., & Padua, D. A. (1995). Run-time methods for parallelizing partially parallel loops. In Proceedings of the International Conference on Supercomputing (Vol. Part F129361, pp. 137–146). Association for Computing Machinery. https://doi.org/10.1145/224538.224553

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free