Utilisation de compression Block Low-Rank en précision mixte pour améliorer les performances d’un solveur linéaire creux direct
| Auteur / Autrice : | Matthieu Gerest |
| Direction : | Fabienne Jézéquel, Olivier Boiteau, Théo Mary |
| Type : | Thèse de doctorat |
| Discipline(s) : | Sciences et technologies de l'information et de la communication |
| Date : | Soutenance le 08/11/2023 |
| Etablissement(s) : | Sorbonne université |
| Ecole(s) doctorale(s) : | École doctorale Informatique, télécommunications et électronique de Paris (1992-....) |
| Partenaire(s) de recherche : | Laboratoire : LIP6 (1997-....) |
| Jury : | Président / Présidente : Frédéric Nataf |
| Examinateurs / Examinatrices : Théo Mary, Hélène Barucq | |
| Rapporteurs / Rapporteuses : Iain S. Duff, Luc Giraud | |
| DOI : | 10.70675/637bbb4az8197z400czbb8azdd0033abd8c4 |
Mots clés
Mots clés contrôlés
Résumé
Pour résoudre des systèmes linéaires creux de grande taille, on peut vouloir utiliser des méthodes directes, numériquement robustes, mais coûteuses en termes d'utilisation de la mémoire et de temps de résolution. C'est le cas de la méthode multifrontale, notamment implémentée par le solveur MUMPS. L’une des fonctionnalités disponibles dans ce solveur est l’utilisation de la compression Block Low-Rank (BLR), qui améliore les performances. L'objectif de cette thèse est d'explorer plusieurs pistes d'amélioration de cette compression BLR, de façon à améliorer les performances de la méthode multifrontale. En particulier, nous proposons une variante de la compression BLR utilisant simultanément plusieurs formats de nombres à virgule flottante (précision mixte). Notre démarche, basée sur une analyse d'erreur, permet dans un premier temps de réduire la complexité d'une factorisation LU de matrice dense, sans pour autant impacter l'erreur commise de façon significative. Dans un second temps, nous adaptons ces algorithmes à la méthode multifrontale. Une première implémentation utilise notre compression BLR en précision mixte comme format de stockage, et permet ainsi de réduire la consommation mémoire de MUMPS. Une seconde implémentation permet de combiner ces gains en mémoire avec des gains en temps lors de la phase de résolution de systèmes triangulaires, grâce à des calculs effectués en précision faible. Cependant, nous remarquons que cette étape n'est pas aussi performante que prévu en BLR, dans le cas d'un système linéaire à plusieurs seconds membres. Pour y remédier, nous proposons de nouvelles variantes BLR de la résolution de systèmes triangulaires, dans laquelle la localité mémoire a été améliorée. Nous justifions l'intérêt de cette approche grâce à une analyse de volume de communication. Nous implémentons nos algorithmes dans un prototype simplifié, puis dans MUMPS, et nous obtenons des gains en temps dans les deux cas.