TY - JOUR
T1 - WorkStream-- A Design Pattern for Multicore-Enabled Finite Element Computations
AU - Turcksin, Bruno
AU - Kronbichler, Martin
AU - Bangerth, Wolfgang
N1 - KAUST Repository Item: Exported on 2020-10-01
Acknowledged KAUST grant number(s): KUS-C1-016-04
Acknowledgements: B. Turcksin andW. Bangerth were partially supported by the National Science Foundation under award OCI-1148116 as part of the Software Infrastructure for Sustained Innovation (SI2) program; by the Computational Infrastructure in Geodynamics initiative (CIG), through the National Science Foundation under Award No. EAR-0949446 and The University of California - Davis; and through Award No. KUS-C1-016-04, made by King Abdullah University of Science and Technology (KAUST).
This publication acknowledges KAUST support, but has no KAUST affiliated authors.
PY - 2016/8/31
Y1 - 2016/8/31
N2 - Many operations that need to be performed in modern finite element codes can be described as an operation that needs to be done independently on every cell, followed by a reduction of these local results into a global data structure. For example, matrix assembly, estimating discretization errors, or converting nodal values into data structures that can be output in visualization file formats all fall into this class of operations. Using this realization, we identify a software design pattern that we callWorkStream and that can be used to model such operations and enables the use of multicore shared memory parallel processing. We also describe in detail how this design pattern can be efficiently implemented, and we provide numerical scalability results from its use in the DEAL.II software library.
AB - Many operations that need to be performed in modern finite element codes can be described as an operation that needs to be done independently on every cell, followed by a reduction of these local results into a global data structure. For example, matrix assembly, estimating discretization errors, or converting nodal values into data structures that can be output in visualization file formats all fall into this class of operations. Using this realization, we identify a software design pattern that we callWorkStream and that can be used to model such operations and enables the use of multicore shared memory parallel processing. We also describe in detail how this design pattern can be efficiently implemented, and we provide numerical scalability results from its use in the DEAL.II software library.
UR - http://hdl.handle.net/10754/624966
UR - https://dl.acm.org/doi/10.1145/2851488
UR - http://www.scopus.com/inward/record.url?scp=84986563715&partnerID=8YFLogxK
U2 - 10.1145/2851488
DO - 10.1145/2851488
M3 - Article
SN - 0098-3500
VL - 43
SP - 1
EP - 29
JO - ACM Transactions on Mathematical Software
JF - ACM Transactions on Mathematical Software
IS - 1
ER -