Hybrid distributed-/shared-memory parallelization for re-initializing level set functions.
The ever-increasing power of high-performance computers and advances in numerical techniques make possible the realistic study of two-phase flow problems in three spatial dimensions. Unfortunately, today, there is often still a gap between the design of numerical algorithms and the characteristics of the hardware on which the algorithms are executed. For the solution of a particular subproblem of a two-phase flow problem, we develop a numerical algorithm that aims to match the architecture of a cluster of nodes with multi-core chips. The algorithm is concerned with the re-initialization of level set function used to keep track of the interface between two phases of a fluid. It consists of a hybrid MPIOpenMP parallelization strategy, using a domain decomposition approach on the outermost level of parallelization. On the inner level, a parallel region handles an individual subdomain. So, a domain decomposition approach based on MPI is combined with an OpenMP approach leading to a hybrid distributed-shared-memory parallelization. Numerical experiments show that using such a hybrid strategy scales better than a pure MPI parallelization on two different Xeon-based clusters of quad-core processors using up to 1024 cores.