Méthodes hybrides pour la résolution de grands systèmes linéaires creux sur calculateurs parallèles
Nous nous intéressons à la résolution en parallèle de système d’équations linéaires creux et de large taille. Le calcul de la solution d’un tel type de système requiert un grand espace mémoire et une grande puissance de calcul. Il existe deux principales méthodes de résolution de systèmes linéaires....
Main Author: | |
---|---|
Other Authors: | |
Language: | en |
Published: |
2013
|
Subjects: | |
Online Access: | http://www.theses.fr/2013INPT0126/document |
id |
ndltd-theses.fr-2013INPT0126 |
---|---|
record_format |
oai_dc |
collection |
NDLTD |
language |
en |
sources |
NDLTD |
topic |
Matrices creuses Méthodes itératives de résolution de systèmes linéaires Méthodes directes de résolution de systèmes linéaires Méthodes hybrides Partitionnement Hypergraphes Calcul haute performance Calcul parallèle Sparse matrices Iterative methods for linear systems Direct methods for linear systems Hybrid methods Partitioning Hypergraphs High-performance computing Parallel computing |
spellingShingle |
Matrices creuses Méthodes itératives de résolution de systèmes linéaires Méthodes directes de résolution de systèmes linéaires Méthodes hybrides Partitionnement Hypergraphes Calcul haute performance Calcul parallèle Sparse matrices Iterative methods for linear systems Direct methods for linear systems Hybrid methods Partitioning Hypergraphs High-performance computing Parallel computing Zenadi, Mohamed Méthodes hybrides pour la résolution de grands systèmes linéaires creux sur calculateurs parallèles |
description |
Nous nous intéressons à la résolution en parallèle de système d’équations linéaires creux et de large taille. Le calcul de la solution d’un tel type de système requiert un grand espace mémoire et une grande puissance de calcul. Il existe deux principales méthodes de résolution de systèmes linéaires. Soit la méthode est directe et de ce fait est rapide et précise, mais consomme beaucoup de mémoire. Soit elle est itérative, économe en mémoire, mais assez lente à atteindre une solution de qualité suffisante. Notre travail consiste à combiner ces deux techniques pour créer un solveur hybride efficient en consommation mémoire tout en étant rapide et robuste. Nous essayons ensuite d’améliorer ce solveur en introduisant une nouvelle méthode pseudo directe qui contourne certains inconvénients de la méthode précédente. Dans les premiers chapitres nous examinons les méthodes de projections par lignes, en particulier la méthode Cimmino en bloc, certains de leurs aspects numériques et comment ils affectent la convergence. Ensuite, nous analyserons l’accélération de ces techniques avec la méthode des gradients conjugués et comment cette accélération peut être améliorée avec une version en bloc du gradient conjugué. Nous regarderons ensuite comment le partitionnement du système linéaire affecte lui aussi la convergence et comment nous pouvons améliorer sa qualité. Finalement, nous examinerons l’implantation en parallèle du solveur hybride, ses performances ainsi que les améliorations possible. Les deux derniers chapitres introduisent une amélioration à ce solveur hybride, en améliorant les propriétés numériques du système linéaire, de sorte à avoir une convergence en une seule itération et donc un solveur pseudo direct. Nous commençons par examiner les propriétés numériques du système résultants, analyser la solution parallèle et comment elle se comporte face au solveur hybride et face à un solveur direct. Finalement, nous introduisons de possible amélioration au solveur pseudo direct. Ce travail a permis d’implanter un solveur hybride "ABCD solver" (Augmented Block Cimmino Distributed solver) qui peut soit fonctionner en mode itératif ou en mode pseudo direct. === We are interested in solving large sparse systems of linear equations in parallel. Computing the solution of such systems requires a large amount of memory and computational power. The two main ways to obtain the solution are direct and iterative approaches. The former achieves this goal fast but with a large memory footprint while the latter is memory friendly but can be slow to converge. In this work we try first to combine both approaches to create a hybrid solver that can be memory efficient while being fast. Then we discuss a novel approach that creates a pseudo-direct solver that compensates for the drawback of the earlier approach. In the first chapters we take a look at row projection techniques, especially the block Cimmino method and examine some of their numerical aspects and how they affect the convergence. We then discuss the acceleration of convergence using conjugate gradients and show that a block version improves the convergence. Next, we see how partitioning the linear system affects the convergence and show how to improve its quality. We finish by discussing the parallel implementation of the hybrid solver, discussing its performance and seeing how it can be improved. The last two chapters focus on an improvement to this hybrid solver. We try to improve the numerical properties of the linear system so that we converge in a single iteration which results in a pseudo-direct solver. We first discuss the numerical properties of the new system, see how it works in parallel and see how it performs versus the iterative version and versus a direct solver. We finally consider some possible improvements to the solver. This work led to the implementation of a hybrid solver, our "ABCD solver" (Augmented Block Cimmino Distributed solver), that can either work in a fully iterative mode or in a pseudo-direct mode. |
author2 |
Toulouse, INPT |
author_facet |
Toulouse, INPT Zenadi, Mohamed |
author |
Zenadi, Mohamed |
author_sort |
Zenadi, Mohamed |
title |
Méthodes hybrides pour la résolution de grands systèmes linéaires creux sur calculateurs parallèles |
title_short |
Méthodes hybrides pour la résolution de grands systèmes linéaires creux sur calculateurs parallèles |
title_full |
Méthodes hybrides pour la résolution de grands systèmes linéaires creux sur calculateurs parallèles |
title_fullStr |
Méthodes hybrides pour la résolution de grands systèmes linéaires creux sur calculateurs parallèles |
title_full_unstemmed |
Méthodes hybrides pour la résolution de grands systèmes linéaires creux sur calculateurs parallèles |
title_sort |
méthodes hybrides pour la résolution de grands systèmes linéaires creux sur calculateurs parallèles |
publishDate |
2013 |
url |
http://www.theses.fr/2013INPT0126/document |
work_keys_str_mv |
AT zenadimohamed methodeshybridespourlaresolutiondegrandssystemeslineairescreuxsurcalculateursparalleles AT zenadimohamed thesolutionoflargesparselinearsystemsonparallelcomputersusingahybridimplementationoftheblockcimminomethod |
_version_ |
1718976465298522112 |
spelling |
ndltd-theses.fr-2013INPT01262019-02-16T04:33:38Z Méthodes hybrides pour la résolution de grands systèmes linéaires creux sur calculateurs parallèles The solution of large sparse linear systems on parallel computers using a hybrid implementation of the block Cimmino method Matrices creuses Méthodes itératives de résolution de systèmes linéaires Méthodes directes de résolution de systèmes linéaires Méthodes hybrides Partitionnement Hypergraphes Calcul haute performance Calcul parallèle Sparse matrices Iterative methods for linear systems Direct methods for linear systems Hybrid methods Partitioning Hypergraphs High-performance computing Parallel computing Nous nous intéressons à la résolution en parallèle de système d’équations linéaires creux et de large taille. Le calcul de la solution d’un tel type de système requiert un grand espace mémoire et une grande puissance de calcul. Il existe deux principales méthodes de résolution de systèmes linéaires. Soit la méthode est directe et de ce fait est rapide et précise, mais consomme beaucoup de mémoire. Soit elle est itérative, économe en mémoire, mais assez lente à atteindre une solution de qualité suffisante. Notre travail consiste à combiner ces deux techniques pour créer un solveur hybride efficient en consommation mémoire tout en étant rapide et robuste. Nous essayons ensuite d’améliorer ce solveur en introduisant une nouvelle méthode pseudo directe qui contourne certains inconvénients de la méthode précédente. Dans les premiers chapitres nous examinons les méthodes de projections par lignes, en particulier la méthode Cimmino en bloc, certains de leurs aspects numériques et comment ils affectent la convergence. Ensuite, nous analyserons l’accélération de ces techniques avec la méthode des gradients conjugués et comment cette accélération peut être améliorée avec une version en bloc du gradient conjugué. Nous regarderons ensuite comment le partitionnement du système linéaire affecte lui aussi la convergence et comment nous pouvons améliorer sa qualité. Finalement, nous examinerons l’implantation en parallèle du solveur hybride, ses performances ainsi que les améliorations possible. Les deux derniers chapitres introduisent une amélioration à ce solveur hybride, en améliorant les propriétés numériques du système linéaire, de sorte à avoir une convergence en une seule itération et donc un solveur pseudo direct. Nous commençons par examiner les propriétés numériques du système résultants, analyser la solution parallèle et comment elle se comporte face au solveur hybride et face à un solveur direct. Finalement, nous introduisons de possible amélioration au solveur pseudo direct. Ce travail a permis d’implanter un solveur hybride "ABCD solver" (Augmented Block Cimmino Distributed solver) qui peut soit fonctionner en mode itératif ou en mode pseudo direct. We are interested in solving large sparse systems of linear equations in parallel. Computing the solution of such systems requires a large amount of memory and computational power. The two main ways to obtain the solution are direct and iterative approaches. The former achieves this goal fast but with a large memory footprint while the latter is memory friendly but can be slow to converge. In this work we try first to combine both approaches to create a hybrid solver that can be memory efficient while being fast. Then we discuss a novel approach that creates a pseudo-direct solver that compensates for the drawback of the earlier approach. In the first chapters we take a look at row projection techniques, especially the block Cimmino method and examine some of their numerical aspects and how they affect the convergence. We then discuss the acceleration of convergence using conjugate gradients and show that a block version improves the convergence. Next, we see how partitioning the linear system affects the convergence and show how to improve its quality. We finish by discussing the parallel implementation of the hybrid solver, discussing its performance and seeing how it can be improved. The last two chapters focus on an improvement to this hybrid solver. We try to improve the numerical properties of the linear system so that we converge in a single iteration which results in a pseudo-direct solver. We first discuss the numerical properties of the new system, see how it works in parallel and see how it performs versus the iterative version and versus a direct solver. We finally consider some possible improvements to the solver. This work led to the implementation of a hybrid solver, our "ABCD solver" (Augmented Block Cimmino Distributed solver), that can either work in a fully iterative mode or in a pseudo-direct mode. Electronic Thesis or Dissertation Text en http://www.theses.fr/2013INPT0126/document Zenadi, Mohamed 2013-12-18 Toulouse, INPT Amestoy, Patrick Ruiz, Daniel |