Advanced search
Start date
Betweenand


How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine Granularity and OpenMP Tasks: The SPEC mcf Case

Full text
Author(s):
Salamanca, Juan ; Baldassin, Alexandro
Total Authors: 2
Document type: Journal article
Source: OPENMP: ADVANCED TASK-BASED, DEVICE AND COMPILER PROGRAMMING, IWOMP 2023; v. 14114, p. 16-pg., 2023-01-01.
Abstract

There are certain loops that are considered hard to parallelize. Examples of this type of loops are those that have loop-carried dependencies (DOACROSS loops) and that are also irregular, that is, the dependencies between iterations vary depending on the context. Many techniques have been studied before to be able to parallelize this type of loops, however in OpenMP standard there is no efficient way to parallelize them. From the literature, it is known that many of these loops can be efficiently parallelized using fine-grained techniques (identifying strongly connected components). On the other hand, the most efficient way to parallelize this type of loops using OpenMP tasks has not been explored. Thus, this paper discusses the various forms of parallelization of this type of loops using SPEC 429.mcf as a case study; particularly, how to parallelize mcf using fine granularity in tasks. For that, this paper proposes new constructs (ste_for and ste) and speculative dependency-types (spec_in, spec_out, and spec_inout). An initial evaluation using different implementations to parallelize the mcf hottest loop shows that it is possible to achieve speed-ups of up to 2.44x with respect to the task-depend version using Speculative Task Execution. (AU)

FAPESP's process: 18/15519-5 - Performance optimizations for multicore architectures
Grantee:Alexandro José Baldassin
Support Opportunities: Research Grants - Young Investigators Grants - Phase 2
FAPESP's process: 18/07446-8 - Integrating Speculative Execution to Loop and Task-based Parallelization
Grantee:Juan Jesús Salamanca Guillén
Support Opportunities: Scholarships in Brazil - Post-Doctoral
FAPESP's process: 20/01665-0 - Integrating speculative execution to task parallelism
Grantee:Juan Jesús Salamanca Guillén
Support Opportunities: Scholarships abroad - Research Internship - Post-doctor