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

Bibliographic Details
Main Author: Salamanca, Juan [UNESP]
Publication Date: 2023
Other Authors: Baldassin, Alexandro [UNESP]
Format: Conference object
Language: eng
Source: Repositório Institucional da UNESP
Download full: http://dx.doi.org/10.1007/978-3-031-40744-4_6
https://hdl.handle.net/11449/297614
Summary: 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.44 × with respect to the task-depend version using Speculative Task Execution.
id UNSP_64b1d276d9da930f1a56a0cfe6c779a2
oai_identifier_str oai:repositorio.unesp.br:11449/297614
network_acronym_str UNSP
network_name_str Repositório Institucional da UNESP
repository_id_str 2946
spelling How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine Granularity and OpenMP Tasks: The SPEC mcf CaseDOACROSS ParallelizationOpenMPSpeculative TasksThere 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.44 × with respect to the task-depend version using Speculative Task Execution.DEMAC/IGCE – Sao Paulo State University (Unesp), SPDEMAC/IGCE – Sao Paulo State University (Unesp), SPUniversidade Estadual Paulista (UNESP)Salamanca, Juan [UNESP]Baldassin, Alexandro [UNESP]2025-04-29T18:07:11Z2023-01-01info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/conferenceObject81-96http://dx.doi.org/10.1007/978-3-031-40744-4_6Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), v. 14114 LNCS, p. 81-96.1611-33490302-9743https://hdl.handle.net/11449/29761410.1007/978-3-031-40744-4_62-s2.0-85172120604Scopusreponame:Repositório Institucional da UNESPinstname:Universidade Estadual Paulista (UNESP)instacron:UNESPengLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)info:eu-repo/semantics/openAccess2025-04-30T14:31:35Zoai:repositorio.unesp.br:11449/297614Repositório InstitucionalPUBhttp://repositorio.unesp.br/oai/requestrepositoriounesp@unesp.bropendoar:29462025-04-30T14:31:35Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP)false
dc.title.none.fl_str_mv How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine Granularity and OpenMP Tasks: The SPEC mcf Case
title How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine Granularity and OpenMP Tasks: The SPEC mcf Case
spellingShingle How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine Granularity and OpenMP Tasks: The SPEC mcf Case
Salamanca, Juan [UNESP]
DOACROSS Parallelization
OpenMP
Speculative Tasks
title_short How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine Granularity and OpenMP Tasks: The SPEC mcf Case
title_full How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine Granularity and OpenMP Tasks: The SPEC mcf Case
title_fullStr How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine Granularity and OpenMP Tasks: The SPEC mcf Case
title_full_unstemmed How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine Granularity and OpenMP Tasks: The SPEC mcf Case
title_sort How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine Granularity and OpenMP Tasks: The SPEC mcf Case
author Salamanca, Juan [UNESP]
author_facet Salamanca, Juan [UNESP]
Baldassin, Alexandro [UNESP]
author_role author
author2 Baldassin, Alexandro [UNESP]
author2_role author
dc.contributor.none.fl_str_mv Universidade Estadual Paulista (UNESP)
dc.contributor.author.fl_str_mv Salamanca, Juan [UNESP]
Baldassin, Alexandro [UNESP]
dc.subject.por.fl_str_mv DOACROSS Parallelization
OpenMP
Speculative Tasks
topic DOACROSS Parallelization
OpenMP
Speculative Tasks
description 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.44 × with respect to the task-depend version using Speculative Task Execution.
publishDate 2023
dc.date.none.fl_str_mv 2023-01-01
2025-04-29T18:07:11Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/conferenceObject
format conferenceObject
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://dx.doi.org/10.1007/978-3-031-40744-4_6
Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), v. 14114 LNCS, p. 81-96.
1611-3349
0302-9743
https://hdl.handle.net/11449/297614
10.1007/978-3-031-40744-4_6
2-s2.0-85172120604
url http://dx.doi.org/10.1007/978-3-031-40744-4_6
https://hdl.handle.net/11449/297614
identifier_str_mv Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), v. 14114 LNCS, p. 81-96.
1611-3349
0302-9743
10.1007/978-3-031-40744-4_6
2-s2.0-85172120604
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 81-96
dc.source.none.fl_str_mv Scopus
reponame:Repositório Institucional da UNESP
instname:Universidade Estadual Paulista (UNESP)
instacron:UNESP
instname_str Universidade Estadual Paulista (UNESP)
instacron_str UNESP
institution UNESP
reponame_str Repositório Institucional da UNESP
collection Repositório Institucional da UNESP
repository.name.fl_str_mv Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP)
repository.mail.fl_str_mv repositoriounesp@unesp.br
_version_ 1834482853079941120