HiFlow3 -- A Flexible and Hardware-Aware Parallel Finite Element Package
AbstractThis paper details the concept and implementation of the parallel finite element software package HiFlow3 . HiFlow3 is driven by application requirements and aims at the solution of large-scale problems obtained by means of the finite element method for partial differential equations. By utilizing object-oriented concepts and the full capabilities of C++ the HiFlow3 project follows a modular and generic approach for building efficient parallel numerical solvers. It provides highly capable modules dealing with the mesh setup, finite element spaces, degrees of freedom, linear algebra routines, numerical solvers, and output data for visualization. Parallelism -- as the basis for high performance simulations on modern computing systems -- is introduced on two levels: coarse-grained parallelism by means of distributed grids and distributed data structures, and fine-grained parallelism by means of platform-optimized linear algebra back-ends. Modern numerical schemes in HiFlow3 are built on top of both levels of parallelism. This paper describes the project, its concept, and application scenarios in detail and outlines our hardware-aware cross-platform portable approach that benefits from various emerging technologies like GPU acceleration in a unified and user-friendly manner.
The Engineering Mathematics and Computing Lab (EMCL), directed by Prof. Dr. Vincent Heuveline, is a research group at the Interdisciplinary Center for Scientific Computing (IWR).
The EMCL Preprint Series contains publications that were accepted for the Preprint Series of the EMCL and are planned to be published in journals, books, etc. soon.
The EMCL Preprint Series was published under the roof of the Karlsruhe Institute of Technology (KIT) until April 30, 2013. As from May 01, 2013 it is published under the roof of Heidelberg University.