MONTAN Sethy
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/2013Publications 2012-2013
-
2013
- S. Montan : “Étude de la propagation des erreurs d’arrondi induit par résolution haute performance de systèmes linéaires creux”, thèse, soutenance 25/10/2013, direction de recherche Chesneaux, Jean-Marie (2013)
- S. Montan, J.‑M. Chesneaux, Ch. Denis, J.‑L. Lamotte : “Étude de la propagation des erreurs d’arrondi dans un code d’hydrodynamique parallèle”, Conférence d'informatique en Parallélisme, Architecture et Systeme, COMPAS 2013, Grenoble, France (2013)
-
2012
- S. Montan, J.‑M. Chesneaux, Ch. Denis, J.‑L. Lamotte : “Towards an efficient implementation of CADNA in the BLAS : Example of DgemmCADNA routine.”, 15th GAMM - IMACS International Symposium on Scientific Computing, Computer Arithmetic, and Validated Numerics (SCAN), Novosibirsk, Russian Federation (2012)
- Ch. Denis, S. Montan : “Numerical Verification of Industrial Numerical Codes”, Congrès National de Mathématiques Appliquées et Industrielles, vol. 35, ESAIM: Proceedings, Guidel, France, pp. 107-113 (2012)