(the slides of a presentation which is close to this one)
Domain Decomposition methods are a family of solvers designed for very
large linear systems that require parallel computers. They proceed by
splitting the computational domain into subdomains and then
approximating the inverse of the original problem with local inverses
coming from the subdomains.
I will present some classical domain decomposition methods and show
that for realistic simulations (with heterogeneous materials for
instance) convergence usually becomes very slow. Then I will explain
how this can be fixed by injecting more information into the solver. In
particular I will show how using multiple search directions within the
conjugate gradient algorithm makes the algorithm more reliable.
Efficiency is also taken into account since our solvers are adaptive.
Frédéric Magoulès (MICS): Méthodes de décomposition de domaines avec itérations asynchrones
Les méthodes de décomposition de domaines sont bien adaptées au calcul
parallèle. En effet, la division d'un problème en plusieurs petits
sous-problèmes, est un moyen naturel d'introduire le parallélisme. Les
méthodes de décomposition de domaines possèdent d'une façon où d'une
autre les étapes suivantes: (i) un `découpeur' afin de décomposer le
domaine en sous-domaines; (ii) des solveurs locaux afin de trouver les
solutions dans les sous-domaines avec des conditions limites définies
sur l'interface; (iii) des conditions d'interfaces assurant la
continuité des solutions et de leurs dérivées sur l'interface; (iv) un
algorithme itératif pour résoudre le problème interface. La différence
entre les méthodes de décomposition de domaines réside dans la façon
dont ces étapes sont combinées entre elles pour permettre la résolution
rapide du problème.
Cet exposé présente comment les méthodes de décomposition de domaines
ont évoluées au cours des années, et comment les conditions
d'interfaces ont été optimisées pour accélérer la convergence de ces
méthodes. Ces conditions d'interfaces optimisées, de facon continue ou
de facon purement algébrique, sont définies de manière à prendre en
compte l'hétérogénéité entre les sous-domaines de part et d'autre de
l'interface (milieu poreux), ou la propagation des ondes à travers
l'interface (acoustique), conduisant à des algorithmes robustes. Afin
d'utiliser au mieux ces méthodes sur des machines massivement
parallèles, l'algorithme itératif utilisé pour la résolution du
problème interface doit être modifié. Des itérations asynchrones sont
ici proposées, lesquelles bien que permettant de s'affranchir de la
synchronisation, introduisent des difficultés dans la convergence de
l'algorithme. Après la présentation de la démonstration de la
convergence de la méthode de décomposition de domaines équipées
d'itérations asynchrones, des expériences numériques illustrent la
robustesse, l'efficacité, et l'échelonnabilité de l'approche proposée.
[1] Y. Maday, F. Magoulès. Improved ad hoc interface conditions for
Schwarz solution procedure tuned to highly heterogeneous media. Applied
Mathematical Modelling, 30(8) :731-743, 2006.
[2] Y. Maday and F. Magoulès. Non-overlapping additive Schwarz methods
tuned to highly heterogeneous media. Comptes Rendus à l'Académie des
Sciences, 341(11) :701-705, 2005.
[3] F. Magoulès and F.-X. Roux. Lagrangian formulation of domain
decomposition methods : a unified theory. Applied Mathematical
Modelling, 30(7) :593-615, 2006.
[4] M.J. Gander, F. Magoulès, and F. Nataf. Optimized Schwarz methods
without overlap for the Helmholtz equation. SIAM Journal on Scientific
Computing, 24(1) :38-60, 2002.
[5] D.P. Bertsekas and J.N. Tsitsiklis. Parallel and Distributed Computation : Numerical Methods. Prentice-Hall, 1989.
Christophe Prud'homme (IRMA): High Performance Computing with Feel++
I will review (some of) the HPC solution strategies developed in
Feel++. We present our advances in developing a language specific to
partial differential equations embedded in C++. We have been developing
the Feel++ framework (Finite Element method Embedded Language in C++)
to the point where it allows to use a very wide range of Galerkin
methods and advanced numerical methods such as domain decomposition
methods including mortar and three fields methods, fictitious domain
methods or certified reduced basis. We shall present an overview of the
various ingredients as well as some illustrations. The ingredients
include a very expressive embedded language, seamless interpolation,
mesh adaption, seamless parallelisation. As to the illustrations, they
exercise the versatility of the framework either by allowing the
development and/or numerical verification of (new) mathematical methods
or the development of large multi-physics applications— e.g.
fluid-structure interaction using either an Arbitrary Lagrangian
Eulerian formulation or a levelset based one; high field magnets
modeling which involves electro-thermal, magnetostatics, mechanical and
thermo-hydraulics model; ... — The range of users span from mechanical
engineers in industry, physicists in complex fluids, computer
scientists in biomedical applications to applied mathematicians thanks
to the shared common mathematical embedded language hiding linear
algebra and computer science complexities.
Feel++ provides a mathematical kernel for solving partial differential
equation using arbitrary order Galerkin methods (fem, sem, cG, dG,...)
in 1D, 2D and 3D using simplices and hypercubes meshes : (i) a
polynomial library allowing for a wide range polynomial expansions
including Hdiv and Hcurl elements, (ii) a light interface to
PETSc/SLEPc as well as a scalable in-house solution strategy (iii) a
language for Galerkin methods starting with fundamental concepts such
as function spaces, forms, operators, functionals and integrals, (iv) a
framework that allows user codes to scale seamlessly from single core
computation to thousands of cores and enables hybrid computing.
Feel++ takes advantage of the newest C++ standard (C++11) such as type
inference and the Boost C++ Libraries such as the Boost.Parameter,
Boost.Fusion or Boost.MPL and many more. We shall illustrate how these
language enhancements and libraries allow for very concise, robust and
expressive C++ codes. Finally we will illustrate on large scale
applications the numerical behavior in terms of verification and
validation.
Nous présentons dans cet exposé le code open source de simulation
numérique TrioCFD. TrioCFD (précédemment appelé "Trio_U") est un projet
de développement et d'exploitation d'un logiciel de simulation
numérique en mécanique des fluides : code de CFD (pour Computational
Fluid Dynamics) basé sur la plate-forme TRUST (TRio_U Software for
Thermohydraulics). Il est développé par le Service de Thermohydraulique
et de Mécanique des Fluides (STMF) de la Direction de l'Energie
Nucléaire du CEA. Les qualités du logiciel TrioCFD reposent sur une
équipe de recherche pluridisciplinaire en modélisation physique,
analyse numérique et architecture logicielle. L’objectif principal
étant de faire le lien entre monde académique et le monde industriel.
Les modèles physiques développés, les méthodes numériques mises en
œuvre et le parallélisme massif du logiciel TrioCFD permettent de
simuler des problèmes très divers, allant de la simulation locale
d'écoulements diphasiques à la simulation d'écoulements turbulents sur
des installations industrielles telles des portions de réacteurs
nucléaires.
The focus of this presentation is on high performance numerical schemes
for the solution of large sparse systems of linear equations.
We will first present hybrid methods that inherit the advantages of
both direct and iterative methods, namely the limited amount of memory
and natural parallelization for the iterative component and the
numerical robustness of the direct part.
In order to perform extreme scale simulations on large distributed
platforms, the number of iterations is often the main limitation since
the convergence may deteriorate with the number of computational nodes.
Taking into account a low-rank approximation of our problem, we are
able to alleviate this penalizing numerical effect.
Focusing on the distributed sparse hybrid solver MaPHyS¹ developed in
the HiePACS Inria project team, we will show how the adaptation of a
semi-algebraic coarse space² originally proposed in the context of
domain decomposition methods ensures the scalability of a distributed
sparse hybrid solver.
web: https://project.inria.fr/maphys/
[1] Emmanuel Agullo, Luc Giraud, Abdou Guermouche, and Jean Roman.
Parallel hierarchical hybrid linear solvers for emerging computing
platforms. Comptes Rendus Mécanique, 339 (2–3):96–103, February 2011.
ISSN 1631-0721. doi: 10.1016/j.crme.2010.11.005.
[2] N. Spillane, V. Dolean, P. Hauret, F. Nataf, C. Pechstein, and R.
Scheichl. Abstract robust coarse spaces for systems of PDEs via
generalized eigenproblems in the overlaps. Numerische Mathematik,
126(4):741–770, August 2013. ISSN 0029-599X, 0945-3245. doi:
10.1007/s00211-013-0576-y
Sorbonne Paris Cité (SPC) a ouvert son système numérique fédéré en
Janvier 2016. Cette plateforme est composée de 3 systèmes (2 clusters
et un cloud) et sert l’ensemble des scientifiques de SPC. Dans cet
exposé nous synthétiserons, à partir d’observations de terrain issues
de l’enquête sur les usages actuels du numérique, les différentes
manières d'utiliser ces types d’instruments et les différents besoins
des communautés. Cela permettra de conclure que l’écosystème est en
mouvement, y compris sur les manières de faire du calcul haute
performance (HPC). Nous insisterons plus particulièrement sur la couche
Système des grandes infrastructures pour rappeler d’une part son
omniprésence, quelques résultats en recherche d’autre part et enfin
l’impérieuse nécessité d’aller au-delà des services actuellement
offerts.