How to Efficiently Parallelize Irregular DOACROSS Loops Using Fine Granularity and OpenMP Tasks: The SPEC mcf Case
Main Author: | |
---|---|
Publication Date: | 2023 |
Other Authors: | |
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 |