GaspiLS – Scalability for CFD and FEM Simulations

GaspiLS is a scalable and industry proven linear solver library for the exascale age. Many engineering simulations are based on CFD and FEM methods. Examples are the determination of aerodynamic properties of planes or the analysis of statics of buildings. A large part of the computation time is required to solve the underlying equations using iterative methods. The performance of the employed iterative solvers has a significant impact on the total run time of these simulations. We have developed the linear solver library GaspiLS to faster gain insights from the simulations.

 

Industry uses GaspiLS for better scalability

Scalability measures the parallel efficiency of an implementation. The optimum is the so-called linear scalability. This corresponds to a full utilization of the cores within a single CPU or the CPUs within a cluster, which are interconnected by a network.

GaspiLSs' inherent scalability yields the following advantages for simulations:

  • more detailed models
  • more precise parameter studies
  • cost-efficient resource utilization

These aspects make GaspiLS particularly interesting for industry.

Better compute resource utilization

In order to achieve better scalability, GaspiLS uses tools for parallel programming which are developed by us: These are the communication library GPI-2 and its underlying programming model. The algorithm is split into fine grained sub problems (so-called tasks) with mutual dependencies. This allows for the assignment of executable tasks to free compute resources at any time and guarantees for a continuous stream of compute tasks for every CPU.

In this way, we avoid global synchronization points and compensate for the latency times or imbalances in compute time resulting from the exchange of data due to the large number of generated sub problems. Every single core is maximally emploited at any time.

Pressure correction computation
© Fraunhofer ITWM
Pressure correction computation in the PISO method: GaspiLS (green and blue) has significantly improved performance and scalability in comparison to the MPI based implementation (orange).

Hyscala Explores New Areas of Application and New Markets for GaspiLS

GaspiLS has already proven itself in several industry projects. Its further distribution is currently being promoted as part of the EU project HySCALA (Hybrid Scalable sparse matrix linear algebra for industrial applications). The aim is to analyze various, potential new market segments and fields of application for GaspiLS and to identify specific requirements for a competitive linear solver library. We are looking primarily for generic yet efficient preconditioners that allow us to reduce the number of iterations required for convergence of the iterative process and minimize the total run times. Presently, the focus is on the scalable implementation of efficient preconditioners that can be applied to a broad class of problems.

 

GaspiCxx for Increased Productivity

Within GaspiLS, we have factorized the implementation for the explicit management of communication resources required by the GPI-2 data transfer and used GaspiCxx to supply it to other applications. GaspiCxx defines an easy to use C++ interface. It delivers the full native GPI-2 performance. At the same time, the management of GPI-2 communication resources is fully transparent to the application. This eliminates a large part of the implementation work normally required to develop GPI-2 applications. Development of GPI-2 applications and the exploitation of the advantages – like the good scalability – has never been so easy.