Extension d'une bibliothèque d'algèbre linaire dense à la contraction de tenseurs.

Le but du stage sera d'étendre la bibliothèque d’algèbre linéaire dense Chameleon pour permettre la prise en charge de tenseur multi-dimensionnels pour appliquer des opérations de contraction tensoriel sur architectures hétérogènes.

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 ScaLAPACAK. 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 part ses performances actuelles sur les clusters de calculs, Chameleon a été retenue comme une des bibliothèques de base pour l’aglèbre linéaire dense par le projet Numpex. Dans le cadre de ce projet, deux objectifs concerne la bibliothèque Chameleon. Le premier consiste à étendre et valider la scalabilité de la bibliothèque sur les dernières architectures à très grande échelle. Le deuxième souhaite étendre cette brique de base solide aux algorithmes multi-dimensionnels et principalement aux tenseurs qui sont largement utilisés dans le domaine de l’apprentissage et de l’analyse de données.

Dans le cadre de ce stage, le but sera donc d'étendre la bibliothèque existante pour: 1) supporter des données multi-dimensionnels et 2) développer de nouveaux algorithmes tensoriels. Pour cela, on commencera au cours du stage par se concentrer sur les algorithmes de contraction tensorielle sur des tenseurs à faible nombre de dimensions mais avec de grandes dimensions. Pour cela, on s’appuiera sur les récents travaux sur les produits matriciels à grande échelle développé dans le cadre de la thèse d’Antoine Jégo. L’ensemble des propositions sera validé sur les clusters du centre et sur les clusters nationaux et pourront amener à des publications scientifiques.

Mots-clés:

dense linear algebra, API, runtime systems

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 :

  • Inria Bordeaux - Sud-Ouest