Numerical simulation is a strategic tool, complementary to experimental studies, used to gain a precise understanding of complex physical phenomena. With many simulation toolsa, performance closely depends on how effectively linear systems are solved, being the most time consuming part of the process. Exploiting the power of parallel computing, offered by the complex and heterogeneous hardware architecturesb of current computing tools, makes it possible to obtain simulation results with the desired degree of accuracy in an acceptable period of time. However, since resolution algorithms are not capable of fully exploiting these architectures, a rapid decline in performance is observed beyond a certain number of calculation units.
Our research efforts thus focused on the design of parallel algorithms for the resolution of large-scale sparse matrices. These algorithms make use of modern hardware architectures thanks to adapted programming models. This led to the development of the MCGSolver library, containing a broad choice of pre-conditioned parallel iterative linear solvers for multi-core and multi-GPU architectures(1). This library provides a platform for the transparent and decoupled management of numerical algorithms
and various levels of parallelism, via numerous programming modelsc. MCGSolver is constantly enhanced with new methods, such as those based on communication avoiding (figure).
This library is available in IFPEN’s simulation tools via the ALIEN software module, co-developed with the CEA, which provides access to a wide choice of pre-conditioned linear solvers via a single interface.
a - As for the geological storage of CO2 or multiscale particle flows.
b - Made up of multi-core processors (x86/ARM) and accelerator cards (GPU).
c - MPI, HARTS(2), OpenMP, CUDA, SIMD.
Scientific contact: email@example.com