Exploiting mixed-precision to speed-up applications

Le but du stage sera de développer une version multi-précision de la bibliothèque d’algèbre linéaire dense Chameleon pour en étudier les gains selon plusierus critères parfois orthogonaux. L’impact numérique d’une telle version doit pouvoir être maitrisé pour garantir une précision du résultat final. L’utilisation ed précisions faibles peut permettre l’accélération des calculs, notamment sur les architectures avec des unités tensorielles qui exploitent largement la demi précision. Enfin, réduire la précision des calculs implqiue également une réduction des transfert mémoires et potentiellement de la concmmation énérgétique qui en découle.

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.

Au cours de l'écolution de l’informatique, les calculs en précision mixte reviennent régulièrement sur le devant de la scène. En effet, dés que les performances des unités de calcul en double précision stagnent légérement par rapport aux performances des unités de calculs en précision réduites: ratio de 4 à 5 au début des années 2010 avec l’arrivée des GPUs dans le calcul scientifique, de même actuellement avec les unités de calculs tensoriels qui approtent un fort gain de performance si on accepte de passer en demi précision. Récemment, la théorie est venu compléter ces étrudes régulières pour trouver des solutions permettant de garantir la qualité de la solution en utilisant une précision adaptée aux données numériques utilisées dans les calculs.

Dans ce context, des travqux ont débuté pour permettre de faire du calcul en précision mutltiples dans la bibliothèque Chameleon (la matrice est stockées dans différents format suivant les zones de la matrice). Le but du stage serait de poursuivre ces travaux pour les valider dans le cadre d’une application d’astrophysique de l’Observatoire de Paris.

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