MONTAN Sethy

doctorant à Sorbonne Université
Équipe : PEQUAN
https://lip6.fr/Sethy.Montan

Direction de recherche : Jean-Marie CHESNEAUX

Étude de la propagation des erreurs d’arrondi induit par résolution haute performance de systèmes linéaires creux

Le résultat d’un code de simulation numérique subit plusieurs approximations effectuées lors de la modélisation mathématique du problème physique, de la discrétisation du modèle mathématique et de la résolution numérique. Ces algorithmes numériques sont généralement conçus pour les nombres réels, mais sont exécutés sur des ordinateurs en utilisant l’arithémtique flottante. Cette arithémtique influence fortement la fiabilité des résultats des calculs numériques en raison des erreurs d’arrondi qu’elle y introduit. La fiabilité d’un code est primordiale pour des codes industriels tels que ceux développés à EDF R&D. La bibliothèque CADNA, développée par le LIP6, permet d’étudier l’effet de la propagation de ces erreurs dans un programme séquentiel. Afin d’étudier le comportement numérique d’un code, il faut que celui-ci soit entièrement instrumenté. Les codes de calcul scientifique tels que ceux développés à EDF R&D (Code_Aster, TELEMAC) font appel à des bibliothèques externes (MPI, BLACS, BLAS, LAPACK), il est donc nécessaire d’instrumenter ces dernières en implémentant des extensions compatibles avec l’outil de validation numérique CADNA. La complexité algorithmique et la taille des logiciels de calcul numérique impliquent d’importants temps d’exécution. Pour mener ces études dans des temps raisonnables, il est important de rechercher des solutions pour diminuer l’impact de CADNA sur les performances de ces bibliothèques. A titre d’exemple, l’implémentation directe de CADNA dans les BLAS ruine les performances en raison du problème de perte de localisation des données. Le but de la thèse est donc de lever ce verrou technologique et scientifique en écrivant des routines des bibliothèques BLAS, MPI, BLACS et LAPACK utilisant CADNA.

---

L'étude de la qualité numérique est cruciale pour les codes industriels tels que ceux développés à EDF R&D. C'est d'autant plus important dans le contexte actuel où les simulations numériques sont faites sur des architectures pouvant exécuter des milliards d'opérations flottantes par seconde. Des études ont montré que la bibliothèque CADNA est un outil adapté à la validation numérique des codes industriels. Toutefois, CADNA ne peut être utilisée simplement sur des grands codes industriels, ces derniers faisant appel à des bibliothèques externes (MPI, BLACS, BLAS, LAPACK). Il est donc nécessaire de développer des extensions compatibles avec l’outil CADNA. L'implémentation de ces diverses extensions pose un problème de performance, la complexité algorithmique et la taille des logiciels de calcul numérique impliquant d'importants temps d'exécution. A titre d'exemple, l'implémentation directe de CADNA dans la routine de produit matriciel DGEMM des BLAS, introduit un surcoût supérieur à 1000 pour une matrice carrée de taille 1024. Les raisons de ce surcoût sont expliquées dans ce mémoire. Nous présentons également, à travers notre routine DgemmCADNA, la méthodologie pour réduire ce surcoût. Cette routine a permis de réduire ce surcoût d'un facteur 1100 à un facteur 35 par rapport à la version GotoBLAS.

Une seconde partie de notre travail à été consacrée à l'étude de la qualité numérique du code Telemac-2D. Pour valider entièrement le code, nous avons implémenté une extension de CADNA pour le standard MPI. Le débogage numérique à l'aide de CADNA a montré que plus de 30% des instabilités détectées apparaissent dans les produit scalaires. L'utilisation des algorithmes de produit scalaire compensé permet d'améliorer la précision des résultats sans dégrader les performances du code.


Soutenance : 25/10/2013

Date de départ : 25/10/2013

Publications 2012-2013