Extension de l'implémentation distribuée de la factorisation LU avec pivotage partiel aux distributions non régulières

Le but du stage sera d'étendre l’implémentation MPI distribuée de la factorisation LU avec pivotage partiel à des distributions autre que le 2DBC (un exemple de distribution se trouve dans le papier Data Distribution Schemes for Dense Linear Algebra Factorizations on Any Number of Nodes). Actuellement, certaines parties de l’algorithme ne fonctionnent qu’avec la distribution 2DBC, dont les réductions qui sont dans le chemin critique. Utiliser des distributions autre que le 2DBC ajoute de la complexité pour récupérer la liste des processus impliqués dans chaque réduction. Il faudra pouvoir stocker et accéder à la liste des processus impliqués dans les réductions tout en maîtrisant la taille de stockage de cette liste et sa complexité de calcul. Ensuite, des benchmarks pour comparer différentes distributions seront à faire sur la plateforme de calcul de l’Inria Plafrim. Enfin, les algorithmes de réductions pourront être implémentés avec la librairie de communication NewMadeleine afin de comparer les performances avec la librairie OpenMPI. Tous ces travaux seront faits dans Chameleon.

Contexte

La bibliothèque Chameleon est une bibliothèque d’algèbre linéaire dense qui fournit un ensemble d’algorithmes standards tels que les BLAS (Basic Linear Algebra Subroutines) mais également de nombreuses fonctionnalités plus avancées des standard LAPACK et ScaLAPACK. Pour permettre l’exploitation efficace des architectures distribuées et hétérogènes qui sont de plus en plus présentes dans les centres de calculs, Chameleon repose sur l’utilisation du modèle de programmation par insertion séquentielle de tâches (STF) et l’utilisation de supports d’exécution pour l’ordonnancement des tâches de calculs sur l’architecture cible.

De plus en plus de monde utilise des applications à base de tâches en utilisant des supports d’exécution pour avoir des applications portables sur toutes architectures et hétérogènes. Notamment en algèbre linéaire dense, la majorité des algorithmes a été portée à base de tâches avec des supports d’exécutions efficacement sur des architectures hétérogènes distribuées. Les opérations faites dans la factorisation LU avec pivotage partiel rendent cet algorithme très compliqué à implémenter avec le modèle à base de tâches. Cet algorithme est pourtant utilisé à très grande échelle dans le benchmark HPL qui est utilisé pour le TOP500 qui classe les 500 plus grands supercalculateurs dans le monde. Chaque constructeur a son implémentation de la factorisation LU avec pivotage partielle qui est optimisée pour une architecture spécifique et très souvent n’est pas capable d’exploiter à la fois la puissance de calcul des CPUs et des GPUs. L’implémentation de cet algorithme dans Chameleon a pour but d’avoir une factorisation LU avec pivotage partiel qui est portable sur tout type d’architecture et hétérogène grâce au modèle de programmation à base de tâches.

Les objectifs

  • Stocker la distribution des processus afin de pouvoir accéder aux identifiants des processus impliqués dans les réductions avec une bonne complexité mémoire et de calcul
  • Adapter les algorithmes de réductions pour toute autre distribution que du 2DBC pour les réductions de la recherche du pivot dans la factorisation du panel et les réductions des permutations avant la mise à jour
  • Adapter les schémas de communication des workspaces des TRSM et GEMM pour la mise à jour
  • Étudier et comparer les performances et l’utilisation mémoire des distributions autre que 2DBC et 2DBC
  • Implémenter les réductions avec la bibliothèque NewMadeine
  • Comparer les performances de l’algorithme avec OpenMPI et NewMadeleine

Mots-clés:

Dense linear algebra, LU factorisation, Partial pivoting, MPI, NewMadeleine, Runtime systems, Plafrim

Pré-requis:

  • Programmation C, MPI et multi-thread
  • Standards de programmation (API, interfaces entre langages)
  • Bases en algèbre linéaire

Contacts :

Lieu du stage :

Centre Inria de l’Université de Bordeaux

Références