Thèse soutenue

Modèles de programmation avancés à base de tâches pour les algorithmes d'algèbre linéaire qui passent à l'échelle

FR  |  
EN
Auteur / Autrice : Antoine Jego
Direction : Alfredo Buttari
Type : Thèse de doctorat
Discipline(s) : Mathématiques Appliquées
Date : Soutenance le 15/12/2023
Etablissement(s) : Toulouse, INPT
Ecole(s) doctorale(s) : École doctorale Mathématiques, informatique et télécommunications (Toulouse)
Partenaire(s) de recherche : Laboratoire : Institut de Recherche en Informatique de Toulouse (1995-....)
Jury : Président / Présidente : Patrick Amestoy
Examinateurs / Examinatrices : Alfredo Buttari, Patrick Amestoy, Aurélie Hurault, Samuel Thibault
Rapporteurs / Rapporteuses : George Bosilca, Emanuel Rubensson

Résumé

FR  |  
EN

L'écriture de bibliothèques de calcul haute performance n'est pas une tâche aisée surtout dans des environnements de calcul en perpétuelle évolution. La dernière décennie a vu le paysage des supercalculateurs se complexifier pour maintenir une consommation d'énergie faible et une puissance de calcul élevée. Pour y parvenir des technologies avancées comme les GPU sont mises en oeuvre. Ce matériel peut être programmé à l'aide d'outils bas-niveau et à ce titre une expertise est requise pour développer des applications de calcul intensif. Cette thèse étudie les modèles de programmation à base de tâches rendant l'adaptation logicielle productive et flexible aux innovations matérielles. On s'intéresse en particulier au modèle de programmation séquentiel en flots de tâches (STF) qui propose une interface largement adoptée par la communauté du calcul scientifique dans l'utilisation des machines en mémoire partagée. Cette adoption est cependant moins univoque dans le cadre des machines à mémoire distribuée; les méchanismes mis en place par les algorithmes de l'état de l'art qui passent à l'échelle s'appuyant plus souvent sur des interfaces bas-niveau comme celle proposée par MPI, ils ne sont pas disponibles de manière transparente dans le STF. En passant en revue les algorithmes d'algèbre linéaire qui passent à l'échelle on a pu identifié des fonctionnalités manquantes au modèle qui permettent l'évitement des communications. On a implémenté et validé ces fonctionnalités dans le moteur d'exécution StarPU qui prend en charge le modèle STF. Le modèle étendu qui en résulte rend possible l'expression portable et compacte d'algorithmes de l'état de l'art qui passent à l'échelle. Le premier algorithme d'intérêt est la multiplication de matrices pour laquelle on fournit un unique code élégant qui balaie différentes variantes. Le second est la factorisation de matrice dont notre implémentation expose compactement des choix de conception de l'état de l'art. Ces algorithmes ont été intégrés à la suite de routines denses de qr_mumps. Une campagne expérimentale importante a été mise en place pour valider les gains de performance réalisés. Les résultats indiquent que notre approche est compétitive face à celle mise en place par des bibliothèques de l'état de l'art, en particullier sur des problèmes de petites tailles difficiles à paralléliser ou bien des problèmes pour lesquels les dimensions sont déséquilibrées. La flexibilité de nos implémentations a été déterminante pour permettre l'utilisation de distrbutions de données avancées quand la matrice symmétrique est la plus grande. L'opération qui en résulte est aussi performante que la multiplication de générale tout en utilisant moitié moins de mémoire.