A Proposal for Supporting Speculation in the OpenMP taskloop Construct
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Outros Autores: | , , , , |
Tipo de documento: | Artigo de conferência |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UNESP |
Texto Completo: | http://dx.doi.org/10.1007/978-3-030-28596-8_17 http://hdl.handle.net/11449/209412 |
Resumo: | Parallelization constructs in OpenMP, such as parallel for or taskloop, are typically restricted to loops that have no loop-carried dependencies (DOALL) or that contain well-known structured dependence patterns (e.g. reduction). These restrictions prevent the parallelization of many computational intensive may DOACROSS loops. In such loops, the compiler cannot prove that the loop is free of loop-carried dependencies, although they may not exist at runtime. This paper proposes a new clause for taskloop that enables speculative parallelization of may DOACROSS loops: the tls clause. We also present an initial evaluation that reveals that: (a) for certain loops, slowdowns using DOACROSS techniques can be transformed in speed-ups of up to 2.14x by applying speculative parallelization of tasks; and (b) the scheduling of tasks implemented in the Intel OpenMP runtime exacerbates the ratio of order inversion aborts after applying the taskloop-tls parallelization to a loop. |
id |
UNSP_3fd9a29943210e63e46c7dcb82ef8b25 |
---|---|
oai_identifier_str |
oai:repositorio.unesp.br:11449/209412 |
network_acronym_str |
UNSP |
network_name_str |
Repositório Institucional da UNESP |
repository_id_str |
2946 |
spelling |
A Proposal for Supporting Speculation in the OpenMP taskloop ConstructtaskloopDOACROSSThread-Level SpeculationParallelization constructs in OpenMP, such as parallel for or taskloop, are typically restricted to loops that have no loop-carried dependencies (DOALL) or that contain well-known structured dependence patterns (e.g. reduction). These restrictions prevent the parallelization of many computational intensive may DOACROSS loops. In such loops, the compiler cannot prove that the loop is free of loop-carried dependencies, although they may not exist at runtime. This paper proposes a new clause for taskloop that enables speculative parallelization of may DOACROSS loops: the tls clause. We also present an initial evaluation that reveals that: (a) for certain loops, slowdowns using DOACROSS techniques can be transformed in speed-ups of up to 2.14x by applying speculative parallelization of tasks; and (b) the scheduling of tasks implemented in the Intel OpenMP runtime exacerbates the ratio of order inversion aborts after applying the taskloop-tls parallelization to a loop.Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP)Sao Paulo State Univ, Sao Paulo, BrazilSao Paulo State Univ, Sao Paulo, BrazilFAPESP: 18/07446-8FAPESP: 18/15519-5SpringerUniversidade Estadual Paulista (Unesp)Salamanca, Juan [UNESP]Baldassin, Alexandro [UNESP]Fan, XDeSupinski, B. R.Sinnen, O.Giacaman, N.2021-06-25T12:17:15Z2021-06-25T12:17:15Z2019-01-01info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/conferenceObject246-261http://dx.doi.org/10.1007/978-3-030-28596-8_17Openmp: Conquering The Full Hardware Spectrum, Iwomp 2019. Cham: Springer International Publishing Ag, v. 11718, p. 246-261, 2019.0302-9743http://hdl.handle.net/11449/20941210.1007/978-3-030-28596-8_17WOS:000655479100017Web of Sciencereponame:Repositório Institucional da UNESPinstname:Universidade Estadual Paulista (UNESP)instacron:UNESPengOpenmp: Conquering The Full Hardware Spectrum, Iwomp 2019info:eu-repo/semantics/openAccess2021-10-23T19:28:10Zoai:repositorio.unesp.br:11449/209412Repositório InstitucionalPUBhttp://repositorio.unesp.br/oai/requestopendoar:29462024-08-05T23:13:07.017214Repositório Institucional da UNESP - Universidade Estadual Paulista (UNESP)false |
dc.title.none.fl_str_mv |
A Proposal for Supporting Speculation in the OpenMP taskloop Construct |
title |
A Proposal for Supporting Speculation in the OpenMP taskloop Construct |
spellingShingle |
A Proposal for Supporting Speculation in the OpenMP taskloop Construct Salamanca, Juan [UNESP] taskloop DOACROSS Thread-Level Speculation |
title_short |
A Proposal for Supporting Speculation in the OpenMP taskloop Construct |
title_full |
A Proposal for Supporting Speculation in the OpenMP taskloop Construct |
title_fullStr |
A Proposal for Supporting Speculation in the OpenMP taskloop Construct |
title_full_unstemmed |
A Proposal for Supporting Speculation in the OpenMP taskloop Construct |
title_sort |
A Proposal for Supporting Speculation in the OpenMP taskloop Construct |
author |
Salamanca, Juan [UNESP] |
author_facet |
Salamanca, Juan [UNESP] Baldassin, Alexandro [UNESP] Fan, X DeSupinski, B. R. Sinnen, O. Giacaman, N. |
author_role |
author |
author2 |
Baldassin, Alexandro [UNESP] Fan, X DeSupinski, B. R. Sinnen, O. Giacaman, N. |
author2_role |
author author author author author |
dc.contributor.none.fl_str_mv |
Universidade Estadual Paulista (Unesp) |
dc.contributor.author.fl_str_mv |
Salamanca, Juan [UNESP] Baldassin, Alexandro [UNESP] Fan, X DeSupinski, B. R. Sinnen, O. Giacaman, N. |
dc.subject.por.fl_str_mv |
taskloop DOACROSS Thread-Level Speculation |
topic |
taskloop DOACROSS Thread-Level Speculation |
description |
Parallelization constructs in OpenMP, such as parallel for or taskloop, are typically restricted to loops that have no loop-carried dependencies (DOALL) or that contain well-known structured dependence patterns (e.g. reduction). These restrictions prevent the parallelization of many computational intensive may DOACROSS loops. In such loops, the compiler cannot prove that the loop is free of loop-carried dependencies, although they may not exist at runtime. This paper proposes a new clause for taskloop that enables speculative parallelization of may DOACROSS loops: the tls clause. We also present an initial evaluation that reveals that: (a) for certain loops, slowdowns using DOACROSS techniques can be transformed in speed-ups of up to 2.14x by applying speculative parallelization of tasks; and (b) the scheduling of tasks implemented in the Intel OpenMP runtime exacerbates the ratio of order inversion aborts after applying the taskloop-tls parallelization to a loop. |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019-01-01 2021-06-25T12:17:15Z 2021-06-25T12:17:15Z |
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-030-28596-8_17 Openmp: Conquering The Full Hardware Spectrum, Iwomp 2019. Cham: Springer International Publishing Ag, v. 11718, p. 246-261, 2019. 0302-9743 http://hdl.handle.net/11449/209412 10.1007/978-3-030-28596-8_17 WOS:000655479100017 |
url |
http://dx.doi.org/10.1007/978-3-030-28596-8_17 http://hdl.handle.net/11449/209412 |
identifier_str_mv |
Openmp: Conquering The Full Hardware Spectrum, Iwomp 2019. Cham: Springer International Publishing Ag, v. 11718, p. 246-261, 2019. 0302-9743 10.1007/978-3-030-28596-8_17 WOS:000655479100017 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
Openmp: Conquering The Full Hardware Spectrum, Iwomp 2019 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
246-261 |
dc.publisher.none.fl_str_mv |
Springer |
publisher.none.fl_str_mv |
Springer |
dc.source.none.fl_str_mv |
Web of Science 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 |
|
_version_ |
1808129500154691584 |