Hybrid direct and interactive solvers for sparse indefinite and overdetermined systems on future exascale architectures
Solveurs hybrides directs-itératifs pour les systèmes indéfinis et surdéterminés sur les futures architectures exascale
Résumé
In scientific computing, the numerical simulation of systems is crucial to get a deep understanding of the physics underlying real world applications. The models used in simulation are often based on partial differential equations (PDE) which, after fine discretisation, give rise to huge sparse systems of equations to solve. Historically, 2 classes of methods were designed for the solution of such systems: direct methods, robust but expensive in both computations and memory; and iterative methods, cheap but with a very problem-dependent convergence properties. In the context of high performance computing, hybrid direct-iterative methods were then introduced inorder to combine the advantages of both methods, while using efficiently the increasingly largeand fast supercomputing facilities. In this thesis, we focus on the latter type of methods with two complementary research axis.In the first chapter, we detail the mechanisms behind the efficient implementation of multigrid methods. The latter makes use of several levels of increasingly refined grids to solve linear systems with a combination of fine grid smoothing and coarse grid corrections. The efficient parallel implementation of such a scheme is a difficult task. We focus on the solution of the problem on the coarse grid whose scalability is often observed as limiting at very large scales. We propose an agglomeration technique to gather the data of the coarse grid problem on a subset ofthe computing resources in order to minimise the execution time of a direct solver. Combined with a relaxation of the solution accuracy, we demonstrate an increased overall scalability of the multigrid scheme when using our approach compared to classical iterative methods, when the problem is numerically difficult. At extreme scale, this study is carried in the HHG framework(Hierarchical Hybrid Grids) for the solution of a Stokes problem with jumping coefficients, inspired from Earth's mantle convection simulation. The direct solver used on the coarse grid is MUMPS,combined with block low-rank approximation and single precision arithmetic.In the following chapters, we study some hybrid methods derived from the classical row-projection method block Cimmino, and interpreted as domain decomposition methods. These methods are based on the partitioning of the matrix into blocks of rows. Due to its known slow convergence, the original iterative scheme is accelerated with a stabilised block version of the conjugate gradient algorithm. While an optimal choice of block size improves the efficiency of this approach, the convergence stays problem dependent. An alternative solution is then introduced which enforces a convergence in one iteration by embedding the linear system into a carefully augmented space.These two approaches are extended in order to compute the minimum norm solution of in definite systems and the solution of least-squares problems. The latter problems require a partitioning in blocks of columns. We show how to improve the numerical properties of the iterative and pseudo-direct methods with scaling, partitioning and better augmentation methods. Both methods are implemented in the parallel solver ABCD-Solver (Augmented Block Cimmino Distributed solver)whose parallelisation we improve through a combination of load balancing and communication minimising techniques.Finally, for the solution of discretised PDE problems, we propose a new approach which augments the linear system using a coarse representation of the space. The size of the augmentation is controlled by the choice of a more or less refined mesh. We obtain an iterative method with fast linear convergence demonstrated on Helmholtz and Convection-Diffusion problems. The central point of the approach is the iterative construction and solution of a Schur complement
Dans le domaine du calcul scientifique, la simulation numérique de systèmes est cruciale afin d'obtenir une compréhension profonde de la physique dans des applications réelles. En simulation, les modèles utilisés sont souvent basés sur des équations aux dérivées partielles(EDP) discrétisées qui donnent à résoudre des larges systèmes d'équations linéaires. 2 classes de méthodes sont utilisées pour la solution de ces systèmes: les méthodes directes, robustes mais chères en calcul et mémoire; et les méthodes itératives, peu chères mais dont la convergence dépend du problème. Dans un contexte de calcul haute performance, les approches hybrides ont ensuite été introduites afin de combiner les avantages des deux méthodes, tout en faisant un usage efficace des infrastructure de calculs toujours plus grandes et rapides. Dans cette thèse, nous nous intéressons à ce dernier type de méthodes dans deux axes de recherche principaux. Dans un premier chapitre, nous décrivons les mécanismes nécessaires à l'implémentation efficace des méthodes de décomposition de domaine et des méthodes multi grilles. Ces dernières utilisent des niveaux de grilles de raffinement croissant pour calculer la solution via l'utilisation alternée de lisseurs et de correction sur grille grossière. Leur implémentation parallèle est difficile. La résolution du problème sur la grille grossière est problématique en terme d'efficacité parallèle aux grandes échelles. Nous proposons d'agglomérer les données du problème grossier sur un sous-ensemble des unités de calcul afin de minimiser le temps d'exécution d'un solveur direct sur cette grille. Notre approche, combinée avec une relaxation de la précision de la solution, permet d'améliorer la scalabilité de la méthode multigrilles comparée à l'utilisation d'un solveur itératif, quand le problème est numériquement difficile. Nous démontrons l'efficacité de notre approche dans le framework HHG (Hierarchical Hybrid Grids) pour la solution d'un problème de Stokes avec coefficient très variable, inspiré de la simulation du manteau terrestre. Le solveur direct utilisé sur la grille grossière est MUMPS, combiné avec une approximation par blocs de rang faible et l'utilisation d'une arithmétique simple précision. Dans les chapitres suivants, nous étudions des méthodes hybrides dérivées de la méthode de projection par ligne Cimmino, et interprétées comme des méthodes de décomposition de domaine. La méthode Cimmino est basée sur le partitionnement de la matrice en blocs de lignes. Cette méthode, dont la convergence est lente, est ici accélérée avec une version bloc stabilisée du gradient conjugué. Bien qu'un bon choix de bloc améliore l'efficacité de cette approche, sa convergence dépend du problème. Une alternative consiste à placer le système dans un espace augmenté avec des variables additionnelles. Les deux approches sont étendues pour le calcul de solution de norme minimale pour des problèmes sous-déterminés, et la solution de problèmes de moindres carrés. Ces derniers nécessitent un partitionnement de la matrice en blocs de colonnes. Nous montrons ensuite comment améliorer les propriétés numériques des version itérative et pseudo-directe grâce à des méthodes de scaling, de partitionnement et d'augmentation bien choisies. Les deux méthode sont implémentées dans le solveur parallèle ABCD-Solveur(Augmented Block Cimmino Distributed solver), dont nous améliorons la parallélisation grâce à une combinaison de techniques pour équilibrer la charge de calcul, et minimiser les communications. Finalement, pour la solution de problèmes d'EDP, nous proposons une nouvelle approche dans laquelle le système linéaire est augmenté en se basant sur une vision grossière de l'espace. La taille de l'augmentation est contrôlée par le choix du niveau de grille. Nous obtenons une méthode itérative avec convergence linéaire rapide. Le point central de cette approche est la construction et l'approximation d'équations de contraintes additionnelles
Origine | Version validée par le jury (STAR) |
---|