Speaker
Dr
Lubomír Říha
(IT4Innovations)
Description
ESPRESO is a sparse solver library developed at Czech national supercomputing centre IT4Innovations. The main focus of the development team is to create a highly efficient parallel solver which contains several FETI based algorithms including Hybrid Total FETI method suitable for parallel machines with tens or hundreds of thousands of cores. The solver is based on highly efficient communication layer on top of pure MPI. The main focus of the CPU version is the development of an MPI based communication layer designed particularly for FETI that enables the scalability of the solver. It is not just an MPI code but, as many modern parallel applications, it uses the hybrid parallelization. The three levels of parallelization are message passing, threading using Cilk++ and vectorization using Intel MKL and Cilk++.
Within the IPCC (Intel Parallel Computing Centre) project has been developed a new approach for acceleration of FETI methods in general, not just the Hybrid FETI, by Intel Xeon Phi accelerators. The Oak Ridge National Laboratory (ORNL) director discretion project has been used to develop GPU acceleration of the solver. This project also allowed for tuning and scalability tests of the communication layer on the Titan size machine. The Titan machine has 18,688 compute nodes, of which 95% have been successfully used for solving a problem of up to 120 billion unknowns that arise from the discretization of the Laplace equation in 3D.
ESPRESO contains not only the linear solvers but also QP solvers designed for contact problems (Quadratic Programming problems with inequality and equality constraints), and several Finite Element (FEM) and Boundary Element (BEM) preprocessing tools designed particularly for FETI solvers. The BEM support was produced in collaboration with developers of the BEM4I library ([bem4i.it4i.cz][1]). The preprocessor supports FEM and BEM discretization for Advection-diffusion equation, Stokes flow, and Structural mechanics. Real engineering problems can be imported from Ansys Workbench or OpenFOAM. In addition, a C API allows ESPRESO to be used as a solver library for the third-party application. This has been used for integration with CSC ELMER. For large-scale tests, the preprocessor also contains a multi-block benchmark generator. The post-processing and visualization are based on the VTK library and Paraview, including ParaView Catalyst for inSitu visualization.
This summer, the alpha version of ESPRESO was released to the public and can be downloaded from the project website [espreso.it4i.cz][2].
[1]: http://bem4i.it4i.cz
[2]: http://espreso.it4i.cz
Primary author
Dr
Lubomír Říha
(IT4Innovations)
Co-authors
Dr
Alexandros Markopoulos
(IT4Inovations)
Dr
Michal Merta
(IT4Innovations)
Ondřej Meca
(IT4Innovations)
Dr
Tomas Brzobohaty
(IT4Innovations)