swMATH ID: 26345
Software Authors: Turcksin, Bruno; Kronbichler, Martin; Bangerth, Wolfgang
Description: WorkStream – a design pattern for multicore-enabled finite element computations. 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 call WorkStream 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.
Homepage: https://dl.acm.org/citation.cfm?doid=2987591.2851488
Keywords: finite element algorithms; assembly; pipeline software pattern
Related Software: Trilinos; deal.ii; Intel TBB; p4est; PETSc; muparser; Open CASCADE; HDF; ARPACK; MUMPS; UMFPACK; SLEPc; Gmsh; LAPACK; ADOL-C; Assimp; deal2lkit; SymEngine; CUSPARSE; GSL
Referenced in: 10 Publications

Referencing Publications by Year